您的位置:首页 > Web前端 > JavaScript

简单理解js的闭包

2013-12-23 20:52 435 查看
js中的闭包概念常常让学习js的新人烦恼不已,但是即使不知道闭包为何物的js新手一样在不知不觉中使用这个概念。
简单的说就是js的function被定义的时候,所有“能看到的对象”,这个function内部都是可见的,可以访问的。
举例而言:var globelvar = {};function function1(){ var localvar1; function function2(){ var localvar2; function function3(){ var localvar3; } globelvar.function3 = function3; } function2(); globelvar.function2 = function2;}function1();
function function4(){ var localvar4;}变量 globelvar 四个方法都可以访问到。变量 localvar1 可以被 function1 function2 function3 三个方法访问到,function4无法访问。
变量 localvar2 可以被 function2 function3 访问到,function1 function4无法访问。
变量 localvar3 只可以被function3访问到。
变量 localvar4 值可以被function4访问到。

这种变量的可见性可以概括为方法定义的时候,在方法的位置能"看到"的变量,这个方法都是可以访问的。

这种可见性就是闭包。

闭包的现象和概念看上去就这么简单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: