我通常会这样做:
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
它
答案 0 :(得分:1)
正在构造该函数时,
x
在本地范围内不存在
dragstart
函数在被调用之前不会被“构造”。如果在调用时x
为undefined
,则会失败。 x
当时undefined
唯一的方法是从dragstart
构造函数调用Slider
函数(在这种情况下构造函数没有返回实例,所以x
仍有默认值隐式undefined
)。
否则,当调用dragstart
时,对x
的引用将按预期解析为外部作用域中的x
。