javascript中闭包的作用-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联从2013年创立,是专业互联网技术服务公司,拥有项目网站设计制作、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元沿河做网站,已为上家服务,为沿河各地企业和个人服务,联系电话:028-86922220

今天就跟大家聊聊有关javascript中闭包的作用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

闭包定义

闭包包含自由(未绑定到特定对象)变量;这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)。"闭包" 一词来源于以下两者的结合:要执行的代码块(由于自由变量被包含在代码块中,这些自由变量以及它们引用的对象没有被释放)和为自由变量提供绑定的计算环境(作用域)。在PHP、Scala、Scheme、Common Lisp、Smalltalk、Groovy、JavaScript、Ruby、 Python、Go、Lua、objective c、swift 以及Java(Java8及以上)等语言中都能找到对闭包不同程度的支持。

闭包作用

JS 闭包的作用就是在A执行完并返回后,使得Javascript的垃圾回收机制不会收回A所占用的资源,因为A的内部函数B的执行需要依赖A中的变量,如果不使用闭包,B函数执行所依赖的变量会造成全局污染

闭包示例

模拟私有变量:

function Counter(start){

  var count = start;

  return{
    increment:function(){
      count++;
    },
    get:function(){
      return count;
    }
  }
}

var foo = Counter(4);
foo.increment();
foo.get();// 5

这里,Counter 函数返回两个闭包,函数 increment 和函数 get。 这两个函数都维持着对外部作用域 Counter 的引用,因此总可以访问此作用域内定义的变量count。

看完上述内容,你们对javascript中闭包的作用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联-成都网站建设公司行业资讯频道,感谢大家的支持。


本文标题:javascript中闭包的作用-创新互联
标题URL:http://myzitong.com/article/hcdgs.html