gpt4 book ai didi

Javascript 作用域链

转载 作者:行者123 更新时间:2023-11-30 08:16:48 24 4
gpt4 key购买 nike

我正在尝试优化我的程序。我想我了解关闭的基础知识。不过,我对作用域链感到困惑。

我知道通常您需要一个低范围(以便快速访问变量)。

假设我有以下对象:

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 方法中,我可以比访问公共(public)变量更快地访问私有(private)变量。这是正确的吗?

我对 this 的范围级别感到困惑。

当代码在调试器处停止时,firebug 会在 this 关键字内显示公共(public)变量。 这个 词不在范围级别内。

访问速度有多快?现在我将任何 this.properties 存储为另一个局部变量以避免多次访问它。

非常感谢!

最佳答案

有很多优化 Javascript 的好方法。

这不是其中之一。
搜索范围的成本是分钟

此外,您误解了 this关键词。
this关键字是每个函数的隐式参数,它要么是全局的 window对象,调用该函数的实例,或传递给 call 的第一个参数或 apply .
this object 将引用一个普通的 Javascript 对象;它的属性没有作用域。

关于Javascript 作用域链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com