gpt4 book ai didi

javascript - 引用正在创建的变量是否有任何风险?

转载 作者:行者123 更新时间:2023-11-30 05:43:14 25 4
gpt4 key购买 nike

我通常这样做:

var x; 
x = new Slider({
'dragstart' : function(e,ui){
// blablabla
x.addClass('being-dragged'); // using X here.
// blablabla
}
});

相反,我是否应该有信心去做

var x = new Slider({
'dragstart' : function(e,ui){
// blablabla
x.addClass('being-dragged'); // using X here.
// blablabla
}
});

在我看来,x 在构建该函数时在本地范围内不存在,所以我一直担心它可能会从全局范围内选择另一个 x 、窗口或它找到它的任何地方。

最佳答案

x doesn't exist in the local scope when that function is being constructed

dragstart 函数在被调用之前不会被“构建”。如果 x 在调用时是 undefined,它将失败。那时 xundefined 的唯一方法是如果从 Slider 构造函数调用 dragstart 函数(在这种情况下,构造函数没有返回实例,所以 x 仍然有它的默认值,它隐式地是 undefined)。

否则,当 dragstart 被调用时,对 x 的引用将按照您的预期解析为外部作用域中的 x

关于javascript - 引用正在创建的变量是否有任何风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19560516/

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