假设我有以下代码:
var obj = {
element: null,
init: function(){
this.element = document.getElementById('element');
var localElement = document.getElementById('element');
// Option A...
$(this.element).click(function(){
$(this).hide(); // Option A1
$(this.element).hide(); // Option A2
$(element).hide(); // Option A3
});
// Option B...
$(element).click(function(){
$(this).hide(); // Option B1
$(this.element).hide(); // Option B2
$(element).hide(); // Option B3
});
}
}
我知道选择其中一个只是品味问题。(编辑:它不是,提醒我)
但我想知道的是
JS 评估有什么不同,或者......它们是用相同的算法评估的吗?
如果有差异:哪个更快?
哪一个更“正确”或最接近良好实践?(如果适用)
我可以假设评估元素的不同时间是不相关的吗?(在一个大循环中)
如果我使用局部变量localElement
?
更新:
我创建了一个小提琴(略有不同):http: //jsfiddle.net/uD9eB/
在我的测试中,A1、A3、B1、B3 有效。显然,'2s (A2/B2) 没有。