首页 > 代码库 > javascript中的闭包以及闭包应用

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;//undefinedfoo1.getName()//fooName
但是闭包会导致内存泄漏等一系列问题,所以应该减少闭包的使用。

javascript中的闭包以及闭包应用