javascript闭包

来源:互联网 发布:中国有演技的演员 知乎 编辑:程序博客网 时间:2024/06/12 16:19

今天在网上看见JS闭包的文章,做个备忘

闭包(closure)的概念:可以简单理解成,闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

 

范例:

 

function f1(){var n=999;nAdd=function(){n+=1}function f2(){alert(n);}return f2;}var result=f1();result(); // 999nAdd();result(); // 1000
var name = "The Window";var object = {  name : "My Object",  getNameFunc : function(){    return function(){      return this.name;    };  }};alert(object.getNameFunc()());
原创粉丝点击