学习时间 完成时间 ✅ 重难点 疑问/遗漏
    复习时间
    1. 如果想让整个对象都不能修改,可以使用
    2. Object.freeze()

    image.pngimage.png

    image.png

    image.png
    image.png
    image.png
    image.png
    image.png
    当函数被定义的时候,已经形成作用域,作用域链,将GO放在作用域链上。函数被执行前一刻生成自己的AO
    image.png
    image.png
    image.png
    image.png
    当内部函数被返回到外部并保存时,一定会产生闭包,闭包会产生原来的作用域链不释放。过度的闭包可能导致内存泄漏

    1. 闭包的应用案例
    2. function breadMgr(num) {
    3. var breadNum=arguments[0]||10
    4. //面包供应方法
    5. function supply(){
    6. breadNum+=10;
    7. }
    8. //面包售出方法
    9. function sale(){
    10. breadNum--;
    11. }
    12. return [supply,sale]
    13. }
    14. var breadMgr=breadMgr(50);
    15. breadMgr[0](); //添加面包
    16. breadMgr[1]();
    17. 面包供应的售出公用breadNum属性