diff --git "a/44 \347\275\227\345\220\257\346\201\222/\347\254\224\350\256\260/2022-10-28 \347\254\224\350\256\260.md" "b/44 \347\275\227\345\220\257\346\201\222/\347\254\224\350\256\260/2022-10-28 \347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..d06c1e52bb3c5eb4aac9ad450bd052d73d577821 --- /dev/null +++ "b/44 \347\275\227\345\220\257\346\201\222/\347\254\224\350\256\260/2022-10-28 \347\254\224\350\256\260.md" @@ -0,0 +1,27 @@ +伪数组(下标,长度)arguments:[x,y,a] + +作用域 + +var:如果在全局,块级 --》 全局变量 局部作用域(function)-->局部变量 + +let:不管在哪,都是局部 + +没有任何声明 a=5,不管在哪,都是全局 + +JS(单线程): + +扫描全局:看有没有语法错误 + + 预编译(变量提升): + 1.创建一个AO(activation object)对象:临时存储容器 + 2.往AO装形参,值赋为undefined AO={a:undefined, b:undefined} + 2.1找变量声明,值也赋为undefined AO={a:undefined, b:undefined,c:undefined} + 3.将形参与实参的值统一 AO=AO={a:1, b:2,c:undefined} + 4.找函数声明,值赋予函数体AO={a:f a(){}, b:2,c:f c(){}} + 执行一句,解释一句 + +GO:文件执行之前 + +AO:执行函数的前一刻 + +GO 先执行 到 AO \ No newline at end of file