0

是否有理由myId像下面那样进行缓存(假设该对象myId仅用于此弹出功能,在 JavaScript 中没有其他地方)。

var myId = document.getElementById('myId');
myId.onclick = function () {
  alert('button was clicked');
}

我认为该onclick事件只会设置一次并且没有必要。但我不确定。

4

3 回答 3

3

缓存的唯一原因是,如果您想将myid 元素 用于不只是绑定 click 事件

出于这个原因,人们经常缓存元素,这样可以节省性能,因为您不必多次搜索 DOM 树。

于 2012-08-22T12:07:19.937 回答
0

多缓存一次元素可能最终会使用它通常是一个好主意,但是如果您确定不需要再次访问它,则没有理由必须保存它以供以后使用。

于 2012-08-22T12:07:33.060 回答
0

您只是分配了一个变量,该变量可能与轨道上的另一个变量发生冲突。如果您只设置一次回调,只需这样做:

document.getElementById('myId').onclick = function () {
    alert('button was clicked');
}
于 2012-08-22T12:09:39.230 回答