闭包的作用

1.可以避免添加太多的全局变量和全局函数,特别是多人合作开发的时候,可以减少因此产生的命名冲突等,避免污染全局环境。
2.存储变量(这种写法可能会用在把一些不经常变动,但是计算比较复杂的值保存起来,就可以节省每次访问的时间)

function B(){
    var x = 100;
    return {
        function(){
            return x
        }
    }
}
var m = B()//运行B函数,生成活动变量 x被m引用

3.封装私有变量

function Person(){
    var name = 'default';
    this.getName:function(){
        return name;
    }
    this,setName:function(value){
        name = value;
    }
}
console.log(Person.getName())//default
console.log(Person.setName('mike'))
console.log(Person.getName())//mike

转载:https://segmentfault.com/a/1190000008681174

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

推荐阅读更多精彩内容

  • 闭包的作用 1.实现共有变量eg:函数累加器 2.可以做缓存结构(存储结构)eg:eater 3.可以实现封装,属...
    浮巷旧人阅读 1,365评论 0 0
  • 什么是闭包 在维基中,闭包的解释是这样的: 在计算机科学中,闭包(Closure)是词法闭包(Lexical Cl...
    Syfun阅读 4,866评论 0 52
  • 封装变量 由于cache只在multi函数被使用,可以把它封闭在multi函数内部 进一步封闭运算函数 延续局部变...
    u14e阅读 2,338评论 0 0
  • 1 闭包就是能够读取其他函数内部变量的函数。2 让这些变量的值始终保持在内存中。3 闭包可以保护函数内的变...
    FF_C阅读 1,742评论 0 0
  • “喂?郭致清?”苏沁左手牵着Boston,右手接着电话,悠闲的走在绿树林荫道上。 法国梧桐已经长的很粗壮了,偶尔有...
    阿九小叔阅读 3,294评论 0 4