学习时间 | 完成时间 ✅ | 重难点 | 疑问/遗漏 |
---|---|---|---|
复习时间 | |||
如果想让整个对象都不能修改,可以使用
Object.freeze()
当函数被定义的时候,已经形成作用域,作用域链,将GO放在作用域链上。函数被执行前一刻生成自己的AO
当内部函数被返回到外部并保存时,一定会产生闭包,闭包会产生原来的作用域链不释放。过度的闭包可能导致内存泄漏
闭包的应用案例
function breadMgr(num) {
var breadNum=arguments[0]||10
//面包供应方法
function supply(){
breadNum+=10;
}
//面包售出方法
function sale(){
breadNum--;
}
return [supply,sale]
}
var breadMgr=breadMgr(50);
breadMgr[0](); //添加面包
breadMgr[1]();
面包供应的售出公用breadNum属性