闭包

函数外部访问函数内部变量

function t() {
var age = 20;
return function() {
// 内层函数将外层函数内部变量封锁在自己的作用域链中
console.log(age++);
}
}
var tmp = function() {
console.log(age++);
}
var age = 1000;
tmp();//20

--------------------------------分割线------------------------------------

var cnt = (function(){
var n = 1;
return function(){
return n++;
}
})();
console.log(cnt());//1
console.log(cnt());//2
console.log(cnt());//3
console.log(cnt());//4
// 分析:
// 此时cnt = function (){
// return n++;
// }
// 这个世界上也只有cnt这个函数可以触碰到变量n的值

原文地址:https://www.cnblogs.com/niuniuniu/p/6400929.html