我正在尝试优化我的程序。我想我了解关闭的基础知识。不过,我对范围链感到困惑。
我知道通常你想要一个低范围(快速访问变量)。
假设我有以下对象:
var my_object = (function(){
//private variables
var a_private = 0;
return{ //public
//public variables
a_public : 1,
//public methods
some_public : function(){
debugger;
alert(this.a_public);
alert(a_private);
};
};
})();
我的理解是,如果我在 some_public 方法中,我可以比公共变量更快地访问私有变量。它是否正确?
我的困惑来自this的范围级别。
当代码在调试器处停止时,firebug 会在this关键字中显示公共变量。this字不在范围级别内。
访问它的速度有多快?现在我将任何 this.properties 存储为另一个局部变量,以避免多次访问它。
非常感谢!