Javascript window.onload未为名为onload的函数触发

Javascript window.onload未为名为onload的函数触发,javascript,window,onload,Javascript,Window,Onload,今天我遇到了一个奇怪的问题: window.onload在引用名为onload的函数时似乎不会触发 我以前从未注意到这一点: 测试1: window.onload=onload; 函数onload(){ log('event-fired'); }Onload是一个预定义/预构建的javascript函数,您无法覆盖它。因此它不起作用。这是由于作用域的缘故。如果您在第二个示例中遗漏了窗口。。在第一个示例中,您正在覆盖窗口.onload函数。如果这样做,您将覆盖从javascript构建的onlo

今天我遇到了一个奇怪的问题:

window.onload
在引用名为
onload
的函数时似乎不会触发

我以前从未注意到这一点:

测试1

window.onload=onload;
函数onload(){
log('event-fired');

}
Onload是一个预定义/预构建的javascript函数,您无法覆盖它。因此它不起作用。

这是由于作用域的缘故。如果您在第二个示例中遗漏了
窗口。
。在第一个示例中,您正在覆盖
窗口.onload
函数。

如果这样做,您将覆盖从javascript构建的onload预定义函数。但是如果你想给你的函数命名onload,你可以这样做

函数onload(){
警报(“页面已加载”);
}

你好,世界!

这里的问题是,在web浏览器中,
窗口
被设置为全局对象。这意味着
window.onload
onload
引用的是相同的属性


console.log(window.onload==onload);//true
document.body.onload=onload也是一种编程方式