在调用带有空括号或根本没有任何括号的函数时,我注意到了一个区别。但是,我没有将任何参数传递给该函数,所以我想知道两者之间的区别是什么:
window.onload = initAll();
和
window.onload = initAll;
请解释其背后的原理。
该 执行 initAll() 直线距离 和分配 函数的返回值 来window.onload。这通常 不是 您想要的。initAll()为此必须返回一个函数。
initAll()
window.onload
这将 实际的函数 分配给window.onload这是可能的,因为正如@Felix所说,在JavaScript中,函数是第一类对象无需执行。initAll将由load事件执行。
initAll