diff --git "a/44 \347\275\227\345\220\257\346\201\222/\347\254\224\350\256\260/2022-11-31 \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-11-31 \347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..e6c7256c364612c1673b8ca768154b3bd671b9cf --- /dev/null +++ "b/44 \347\275\227\345\220\257\346\201\222/\347\254\224\350\256\260/2022-11-31 \347\254\224\350\256\260.md" @@ -0,0 +1,18 @@ +作用域,作用域链 + +最里面的先自动销毁 + + 加小括号 或者-+ 立即执行函数:无需调用,立即执行该函数,执行完立马销毁 + +fn(); 调用无效,已经被销毁了 + +查找变量:从作用域链的顶端依次向下查找。 + +闭包作用: + +- 实现公有变量 +- 可以做**缓存(存储结构**) +- 可以实现封装(继承) +- 模块化开发,防止污染全局变量 +- 闭包缺点:当函数保存在外部时,将会生成闭包,闭包会导致原有作用域链不释放,从而造成**内存泄漏**。 +