我已经阅读了技术差异,例如哪个选项等待加载适当的元素,但在大多数情况下,我理解它们都有类似的用途。
我想知道在使用时需要调用函数的原理(比如,initialize();),但是如果编写window.onload = myFunction则只使用函数名。 (MDN将其称为处理函数)。在这里,我指的是缺少括号的区别。
这两种方法都有优势吗?技术原因?
答案 0 :(得分:2)
onload
属性包含要执行的Javascript代码字符串
它不需要是函数调用;它可以是任意陈述。
onload
属性只包含一个函数。
答案 1 :(得分:2)
这是HTML标记与Javascript使用的文档对象模型之间的区别。当你跑:
window.onload = fn;
即将属性“onload”设置为该函数对象,即处理该事件。如果另一方面,你写道:
window.onload = fn();
会立即执行fn,并将onload属性设置为函数返回的任何值(如果函数fn返回另一个函数,也可以工作)。