闭包

闭包:解决变量的私有化问题
全局变量:谁都可以访问,修改
局部变量:有生命周期

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();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作用域和闭包是 JavaScript 最重要的概念之一,想要进一步学习 JavaScript,就必须理解 Java...
    劼哥stone阅读 1,199评论 1 13
  • ● 闭包基础 ● 闭包作用 ● 闭包经典例子 ● 闭包应用 ● 闭包缺点 ● 参考资料 1、闭包基础 作用域和作...
    lzyuan阅读 962评论 0 0
  • 对于JavaScript程序员来说,闭包(closure)是一个难懂又必须征服的概念。闭包的形成与变量的作用域以及...
    yufawu阅读 416评论 0 6
  • JavaScript 变量可以是局部变量或全局变量。私有变量可以用到闭包。 简单点说闭包就是JS中用来实现私有变量...
    wfmm1990阅读 539评论 0 0
  • 4月份,规划着了解下前辈写的美食记。 列了个小清单,雅舍谈吃,随园食单,红楼梦,为什么会有红楼梦,记忆里朋友跟我说...
    小文刀阅读 124评论 0 1