let 和 const 命令let 命令不存在变量提升var 命令会发生“变量提升”现象,即变量可以在声明之前使用,值为 undefined。
12345678console.log(foo); // 输出 undefinedvar foo = 2;// 等价于var foo; // undefinedconsole.log(foo); // 输出 undefinedfoo = 2;
let 命令所声明的变量一定要在声明后使用,否则报 ReferenceError错误。
暂时性死区只要块级作用域内存在 let 命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响...
SOLID 设计原则
单一功能原则(Single Responsibility Principle)
开放封闭原则(Opened Closed Principle)
里式替换原则(Liskov Substitution Principle)
接口隔离原则(Interface Segregation Principle)
依赖反转原则(Dependency Inversion Principle)
《CSS 世界》读书笔记元素与基本尺寸
每一个元素都有一个标记盒子,一个外部盒子与一个容器盒子。标记盒子用于展示圆点、数字这些项目符号,外部盒子用于决定元素是块级展示还是内联展示,容器盒子用于决定元素的宽高以及内容呈现方式等。
表现为“外部尺寸”的块级元素一旦设置了宽度,其流动性就丢失了。所谓流动性,即是一种 margin/border/padding/content 区域自动分配水平空间的机制。
对于绝对定位的非替换元素,当 left 和 right 同时存在时,元素的宽度表现为“格式化宽度”,其宽度大小相对于最近的具有定位特性的祖先元素计算。此外,“格式化宽度”也具有流动性,也有...
React.createElement1React.createElement(type, [props], [...children]);
创建并返回指定类型的新 React 元素,类型参数可以是原生标签名字符串,也可以是 React 组件或是 React fragment。
React.cloneElement1React.cloneElement(element, [props], [...children]);
几乎等同于:
123<element.type {...element.props} {...props}> &...
组件通信父组件 => 子组件属性 props1234567// childprops: { msg: String;}// parent<HelloWorld msg="Welcome to Your Vue.js App" />;
特性 $attrs12345// child 并未在 props 中声明 foo<p>{{ $attrs.foo }}</p>// parent<HelloWorld foo="foo"/>
$attrs 包含了父作用域中不作为 pro...
字符匹配正则表达式是匹配模式,要么匹配字符,要么匹配位置。
模糊匹配横向模糊匹配横向模糊指的是,一个正则可匹配的字符串的长度不是固定的,可以是多种情况。
其实现的方式是使用量词,譬如 {m,n},表示连续出现最少 m 次,最多 n 次。
正则 /ab{2,5}c/ 表示匹配这样一个字符串:第一个字符是 "a",接下来是 2 到 5 个字符 "b",最后是字符 "c"。
1234let regex = /ab{2,5}c/g;let string = 'abc abbc abbbc abbbbc abbbbbc...
打包流程
entrystring | [string] | object { \<key\>: string | [string] } | (function: () => string | [string] | object { \<key\>: string | [string] })
如果传入一个字符串或字符串数组,chunk 会被命名为 main。如果传入一个对象,则每个键(key)会是 chunk 的名称。
outputoutput.filenamestring function
此选项决定了每个输出 bundle 的名...
克隆仓库1git clone 远程仓库地址 [本地仓库的根目录名称]
.git 目录本地仓库(Local Repository),本地所有的版本信息都会存在这里。.git 所在的根目录称为 Git 的工作目录(Working Directory),它保存了你当前从仓库中签出(checkout)的内容。
可通过在工作目录下输入 git init 命令创建 .git 目录。
概念branch对 commit 的引用。
每一个 commit 都有一个唯一的指定方式——它的 SHA-1 校验和。两个 SHA-1 值的重复概率极低,所以可以使用这个 SHA-1 值...