一直以来在 Linux 环境下都是用 Python 来写脚本,但很多时候使用 Shell 脚本 更方便一点,之前也都是现查现用,比较麻烦而且耗时,所以学习并记录下来方便之后的查阅。
简单的脚本程序
1 |
|
以上就是一个 Shell 脚本,第一行#!/bin/bash
告诉系统脚本使用那个解释器来执行,之后只要添加执行权限就可以运行了
1 | chmod +x xxx.sh |
一直以来在 Linux 环境下都是用 Python 来写脚本,但很多时候使用 Shell 脚本 更方便一点,之前也都是现查现用,比较麻烦而且耗时,所以学习并记录下来方便之后的查阅。
1 |
|
以上就是一个 Shell 脚本,第一行#!/bin/bash
告诉系统脚本使用那个解释器来执行,之后只要添加执行权限就可以运行了
1 | chmod +x xxx.sh |
有限状态机是一种模型,模拟事物状态的变化,有以下特点
以下是阮一峰老师在博客中写的例子JavaScript 与有限状态机
1 | var menu = { |
这个例子展示的是 menu 触发 hover 时改变 menu 的显示状态。
昨天在逛掘金的时候无意间看到 Js 防抖和节流的主题, 什么东西听都没听过,看了以后才明白是特别实用的东西,所以记录一下。
作者:薄荷前端
链接:7 分钟理解 JS 的节流、防抖及使用场景
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Git 地址 https://github.com/BooheeFE/weekly/issues/13
在事件被触发 n 秒后再执行回调,如果在这 n 秒内又被触发,则重新计时。
1 | function ajax(content) { |
这个例子中每次键盘输入都会触发一次 ajax 请求, 用户查询内容的时候会发送多次不必要的查询。可以通过防抖来过滤不必要的请求
通过例子理解观察者模式和发布订阅模式的区别
Subject 是一个主题,Observer 是一个观察者。观察者可以订阅主题,主题发生变化会通知观察者。这是一个典型的观察者模式
1 | class Subject { |
当我们对一个元素和他的子元素各绑定事件时候,点击元素会触发两个事件
1 | <div class="box1"> |
1 | box1.addEventListener( |
可以看到先触发 box2 在触发 box1, 如果想要阻止 box1 事件,添加stopPropagation
阻止事件传递
1 | box2.addEventListener( |
这样就只执行了 box2 事件,相反也可以阻止 box2 事件只执行 box1
栈是一种后进先出的队列(LIFO), 是一种存储数据的容器.
1 | class Stack { |
朴素匹配算法是对目标字符串和模板字符串的一一匹配。如果匹配得上,下标向右移一位, 否则清空并重新开始匹配。
1 | const match = (target, pattern) => { |
1 | class Node { |
继承是面向对象中的重要部分,像 java、python 等语言都是用类来继承的,而 js 的继承是通过原型链来实现的。
通过将 prototype 指向对象的实例,来实现继承
1 | function SuperType() { |
在网页布局中除了 position 属性以外最常用的就是 float 属性,使用 float 属性的元素会脱离标准文档流,并根据 float 属性进行左右浮动。
多个 div 元素根据文档流会呈现层级结构
当我们给 yellow 设置浮动属性以后,就脱离了文档流 red 填充原有 yellow 所占的位置