这是第一种方式:
var Objek = {
node : document.getElementById(known_id),
}
因此,当我致电Objek.node
时,这总是会调用document.getElementById
吗?
第二种方式更好吗? :
var Objek = (function() {
var getNode = document.getElementById(known_id);
return {
node : getNode
}
})();
我认为第二种方式更好,并且在我致电document.getElementById
时不会重新调用Objek.node
答案 0 :(得分:1)
在这两种情况下,getElementById()只被调用一次(当你创建对象时,而不是当你使用objek.node时)。
在第一种情况下,只调用getElementById()并将值赋值给新对象...
...在第二种情况下,首先调用函数,然后创建getNode变量,然后调用getElementById()并将结果赋值给变量,最后使用给定属性创建新对象。
实际上,第一种情况是执行起来更快,开发人员更容易理解。
答案 1 :(得分:0)
它们是等价的。在getElementByIdmethod
中只调用一次(当您创建对象时),然后在执行Objek.node