javascript - 在 Javascript 中调用函数 loadText 与 loadText() 有什么区别?

标签 javascript html dom

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

Javascript

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

HTML

<ul id="textlist">
        <li id="text1"></li>
        <li id="text2"></li>
        <li id="text3"></li>
</ul>

这实际上在浏览器 (Chrome) 中有效,但是当我使用 window.onload = loadText(); 而不是 window.onload = loadText; 时。我得到错误:

Uncaught TypeError: Cannot set property 'innerHTML' of null

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

我觉得这会造成不同,这有点奇怪。我在这里错过了什么吗?

最佳答案

window.onload = loadText();

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

window.onload = loadText;

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

关于javascript - 在 Javascript 中调用函数 loadText 与 loadText() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25138092/

相关文章:

javascript - 何时使用 node-mysql 关闭 MySQL 连接?

javascript - Redux 状态更新两个单独的对象

javascript - 使用 ID 正则表达式或冗余类的 Jquery 选择器

html - 导航栏 - 搜索框 - 在调整浏览器大小时移动位置,我该如何解决这个问题?

javascript - 对象解构 JavaScript 和 HTML

javascript - 从对象数组中仅选择特定属性

javascript - 从静态图像到视频的 CSS 转换在 Safari 中不稳定

javascript - 三星智能电视覆盖(新闻行情)应用程序

jquery - 如何定位没有类或 id 但具有所有这些特定样式属性的 div

javascript - dom 加载 jquery 后触发事件