javascript中的闭包以及闭包应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中的闭包以及闭包应用相关的知识,希望对你有一定的参考价值。

     闭包简单理解就是能够读取其他函数内部变量的函数,而在javascript中只有内部函数可以读取函数的内部变量,所以我们学习javascript时可以这样理解,函数A中嵌套了一个函数B,然后我们用函数B来取得函数A的内部变量,那么这个函数B就是一个闭包。 

     闭包的实质就是将函数内部和外部链接起来的桥梁。

 

 function A(){
    var n=2;
    function B(){
      alert(2); 
    }
    return B;
  }
  var result=A();
  result();

闭包的主要用途:

1.获取函数内部变量。(如上述例子所示)

2.让这些变量的值始终保存。

3.为节点绑定事件时,在事件函数中使用当次循环的值或节点,而不是最后一次循环的值或节点。

4.可以设置私有属性,并且利用特权访问这些属性。

 

var foo = function(){
var name = ‘fooName‘;
this.getName = function(){
return name;
};
}
var foo1 = new foo();
foo1.name;//undefined
foo1.getName()//fooName
但是闭包会导致内存泄漏等一系列问题,所以应该减少闭包的使用。

以上是关于javascript中的闭包以及闭包应用的主要内容,如果未能解决你的问题,请参考以下文章

Javascript中的闭包(转载)

JS---闭包

javascript之闭包理解以及应用场景

JavaScript闭包

Spark闭包与序列化

JavaScript ---- 闭包(什么是闭包,为什么使用闭包,闭包的作用)