gpt4 book ai didi

javascript - 为什么我们不在 window.onload 中使用 () ?

转载 作者:行者123 更新时间:2023-11-28 11:38:25 24 4
gpt4 key购买 nike

在此代码末尾 ( full code is here )

function addSongs() {
var song1 = document.getElementById("song1");
var song2 = document.getElementById("song2");
var song3 = document.getElementById("song3");

song1.innerHTML = "Blue Suede Strings, by Elvis Pagely";
song2.innerHTML = "Great Objects on Fire, by Jerry JSON Lewis";
song3.innerHTML = "I Code the Line, by Johnny JavaScript";
}
window.onload = addSongs;

你会看到addSongs没有与()一起使用。

如果我把它改成

window.onload = addSongs();

这不起作用。为什么?

最佳答案

当您使用 addSongs() 时,它会告诉 Javascript 立即执行该函数并将该调用的返回值分配给 onload 处理程序。

如果没有(),它会告诉JS引擎将函数本身分配给onload。

例如如果你有类似的东西

function x() {
return 'hello';
}

// immediately assigns "hello" to the onload
window.onload = x();

这与做相同

window.onload = 'hello';

并且在某个时候,只要触发 onload 处理程序,JS 引擎就会尝试执行名为“hello”的函数。

关于javascript - 为什么我们不在 window.onload 中使用 () ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12734863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com