diff --git "a/06\351\231\210\346\242\205\351\246\231/\347\254\224\350\256\260/2022.10.28\351\242\204\347\274\226\350\257\221.md" "b/06\351\231\210\346\242\205\351\246\231/\347\254\224\350\256\260/2022.10.28\351\242\204\347\274\226\350\257\221.md" new file mode 100644 index 0000000000000000000000000000000000000000..a5bfce2731b1f2661e9f349165f9cc97ab091218 --- /dev/null +++ "b/06\351\231\210\346\242\205\351\246\231/\347\254\224\350\256\260/2022.10.28\351\242\204\347\274\226\350\257\221.md" @@ -0,0 +1,33 @@ +2022.10.28预编译 + +AO + +1.将形参创建员工A(activation)O(boject)对象:即时存储容器 + +2.往AO里装形参,赋值为undefined + +AO(A;undefined b:undefined) + +找变量声明 + +var let 值也赋值为undefined,随时会改变 + +3.将形参与实参统一 + +4.找函数声明,值赋予函数体AO + +先打印后定义值为undefinrd,直接打印报错 + +没有使用var声明,暗示为全局变量 + +var b =function()!=f b(){} 不为函数声明,值显示为undefined + +函数声明提升为第一个形参赋值 + +后面相同的形参不再执行 + +GO(AO中找不到再找GO,AO在GO) + +全局变量要执行到才能放入GO,提前打印报错 + +打印function 默认返回undefined \ No newline at end of file diff --git "a/06\351\231\210\346\242\205\351\246\231/\347\254\224\350\256\260/2022.10.31\344\275\234\347\224\250\345\237\237,\351\227\255\345\214\205.md" "b/06\351\231\210\346\242\205\351\246\231/\347\254\224\350\256\260/2022.10.31\344\275\234\347\224\250\345\237\237,\351\227\255\345\214\205.md" new file mode 100644 index 0000000000000000000000000000000000000000..9266ae5ed53e85e8a1739a170d4c047658722652 --- /dev/null +++ "b/06\351\231\210\346\242\205\351\246\231/\347\254\224\350\256\260/2022.10.31\344\275\234\347\224\250\345\237\237,\351\227\255\345\214\205.md" @@ -0,0 +1,33 @@ +2022.10.31作用域 + +作用域:存储了执行期的上下文集合 + +声明outer函数—>作用域链—>全局变量对象(GO) + +作用域链执行完会再产生AO,根据AO产生作用域链—>函数对象 + +执行完最里面的AO会自动最先销毁,再销毁GO + +闭包: + +返回函数可以调用 + +1.实现共用变量 + +2.做缓存 + +3.实现封装(继承) + +4.模块化开发 + +缺点:占内存 + +外层不能释放 + +没有调用就不会执行 + +立即执行函数:无需调用立即执行,执行完直接销毁 + +(function(a){} + +(b))b传入a中 \ No newline at end of file