深入理解JavaScript系列(16) 闭包(Closures)(5)


//...
var x = 10;
// only for example
xmlHttpRequestObject.onreadystatechange = function () {
// 当数据就绪的时候,才会调用;
// 这里,不论是在哪个上下文中创建
// 此时变量“x”的值已经存在了
alert(x); // 10
};
//...


还可以创建封装的作用域来隐藏辅助对象:

复制代码 代码如下:


var foo = {};

// 初始化
(function (object) {

var x = 10;

object.getX = function _getX() {
return x;
};

})(foo);

alert(foo.getX()); // 获得闭包 "x" – 10


总结
本文介绍了更多关于ECMAScript-262-3的理论知识,而我认为,这些基础的理论有助于理解ECMAScript中闭包的概念。如果有任何问题,我回在评论里回复大家。
其它参考
Javascript Closures (by Richard Cornford) Funarg problem Closures

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdjzfz.html