0
test = (function(){var key = 200;
return {getKey : function(){return key} };
})();
test.getKey() //returns 200, so far so good
test.setKey() = function(arg){key = arg};
test.setKey(400);
test.getKey() //still returns 200, setKey cannot access the private member "key"
现在,这种行为可能是件好事。但是它打破了我关于闭包如何工作的直觉。是不是匿名“私人函数和返回对象之间的链接?当我添加setKey是不是它返回对象(测试)的一部分?Javascript:私人成员(使用闭包),为什么在初始化后不能添加功能访问私人成员?
在此先感谢您的任何帮助,您可以提供。
变量属于在进入该上下文时创建的执行上下文,他们可以'稍后再添加。 – RobG