JS闭包

闭包的四个概念,执行环境,活动对象,作用域,作用域链

当定义一个函数的时候,这个函数的作用域就确定了,整个函数体就是执行环境,如果该函数是全局函数,那么它的作用域链就只要window对象,当调用函数的时候,会创建一个活动对象,arguments属性添加在活动对象上,当子函数(嵌套函数)访问一个变量时,先从自身的活动对象上找,没有再找父函数的活动对象,再找window对象,都没有就返回undefined。

闭包的应用场景,1、在内存中保存一个变量,当一个函数有子函数的时候(创建了闭包),这个函数里的变量的值不会重新开始,而是保存最后一次运算之后的值。

2、通过保护变量的安全实现js私有属性和私有方法(不能被外部访问)

posted @ 2014-09-12 15:48  向着太阳生  阅读(118)  评论(0编辑  收藏  举报