在Javascript中调用函数loadText和loadText()之间的区别是什么?

Sou*_*Das 2 html javascript html5 dom

我有一个简单的JS函数,可以将文本行加载到无序列表.

使用Javascript

function loadText() {
    document.getElementById("text1").innerHTML = "Text1";
    document.getElementById("text2").innerHTML = "Text2";
    document.getElementById("text3").innerHTML = "Text3";
}
window.onload = loadText;
Run Code Online (Sandbox Code Playgroud)

HTML

<ul id="textlist">
        <li id="text1"></li>
        <li id="text2"></li>
        <li id="text3"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

这实际上适用于浏览器(Chrome),但是当我使用window.onload = loadText();而不是window.onload = loadText;.我收到错误:

未捕获的TypeError:无法设置null的属性'innerHTML'

我认为这是因为DOM没有被读取所以我尝试了,但是在那里遇到了同样的问题.然而,改window.onload = loadText();回去window.onload = loadText;再次工作.

我觉得这有点奇怪,这会引起不同.我在这里错过了什么吗?

小智 5

window.onload = loadText();
Run Code Online (Sandbox Code Playgroud)

这会立即执行loadText并将其返回值存储在window.onlad中

window.onload = loadText;
Run Code Online (Sandbox Code Playgroud)

这使得window.onload引用了loadText函数.现在调用window.onload()与调用loadText()相同