闭包:解决变量的私有化问题
全局变量:谁都可以访问,修改
局部变量:有生命周期
function add(){
var counter = 0; //局部变量-实现全局变量的生命力
plus = function (){ //plus是全局函数
counter++;
console.log("counter = "+ counter); //全局变量的生命周期(伪全局变量)
}
}
add(); //counter被初始化
plus();
plus();
function add(){
var counter = 0; //局部变量-实现全局变量的生命力
var plus = function (){ //plus是全局函数
counter++;
console.log("counter = "+ counter); //全局变量的生命周期(伪全局变量)
}
return plus;
}
var plus = add(); //counter被初始化
plus();
plus();
function add(){
var counter = 0; //局部变量-实现全局变量的生命力
return function (){ //plus是全局函数
counter++;
console.log("counter = "+ counter); //全局变量的生命周期(伪全局变量);
};
}
var plus = add(); //counter被初始化
plus();
plus();
//标准闭包
//函数立即执行 函数声明核函数执行放在一起
var plus = (function (){
var counter = 0; //局部变量-实现全局变量的生命力
return function (){ //plus是全局函数
counter++;
console.log("counter = "+ counter); //全局变量的生命周期(伪全局变量);
};
})();
plus();
plus();
网友评论