- 定义
- 重用变量,保护变量不被篡改的一种机制
- 创建
- 创建外层函数,包含要保护的方法和变量
- 方法中也算受保护的变量
- 外层函数返回内层函数
- 调用函数用 var 接住外层函数的返回值
- 创建外层函数,包含要保护的方法和变量
function dome (){ var n=0; return function(){ n++ } } var domes = dome
缺点
- 内存中的变量不会被销毁 (内存泄露)