var editor = {
"test1": document.getElementById("a"),
"test2": function() {
return document.getElementById("a")
},
"editCont": function() {
console.log(editor.test1.id); // this returns 'cannot read property 'id' of null'
console.log(editor.test2().id); // when removing the above console.log, this returns 'a'
}
}

<h1 id="a" onclick="editor.editCont()">Click me!</h1>
&#13;
控制台为test1和&#39; a&#39;返回null。为了第二个。
editor.test1可以工作而不必将它放在像editor.test2这样的函数中吗?
我知道如果DOM元素不存在则无法找到,但是第二个console.log工作正常,那么第一个console.log的原因是什么?