Javascript - 加载前调用了 `onload` 函数?

Javascript - `onload` function called before loading?

我使用 javascript 创建了一个 iframe:

fr=document.createElement('iframe');
fr.src="www.example.com";
fr.onload=doSomething();
document.body.appendChild(fr);

问题是 onload 部分似乎是 运行 iframe 加载之前 - 我在控制台(使用 chrome)中收到有关函数中未定义的内容的错误(一旦加载 iframe 就会定义),当我检查时,结果发现 iframe 甚至从未被附加。

onload 需要函数引用来调用

fr.onload=doSomething;

当您将 doSomething() 分配给 onload 事件处理程序时,它的 return 被调用(未定义),这就是您看到的错误。这也是doSomething立即出现在运行的原因(因为它在赋值过程中执行)。