Javascript 为什么html.onload不起作用

Javascript 为什么html.onload不起作用,javascript,html,Javascript,Html,一个愚蠢的问题,我在chrome浏览器中尝试了下面的代码,控制台并没有输出,有人看一下吗 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>x</title> <script type="text/javascript"> function onload(){ consol

一个愚蠢的问题,我在chrome浏览器中尝试了下面的代码,控制台并没有输出,有人看一下吗

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>x</title>
    <script type="text/javascript">
      function onload(){
          console.log('call');
      }
      window.onload= onload;
    </script>
  </head>

  <body >
  </body>
</html>

x
函数onload(){
console.log('call');
}
window.onload=onload;

您在全局范围内,并且您已将函数命名为
onload
,因此将覆盖全局
窗口。onload
处理程序与同名函数

重命名函数

function myFunction(){
      console.log('call');
}

window.onload = myFunction;

x
函数loadMe(){
console.log('call');
}
window.onload=loadMe;

但您也可以尝试:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>x</title>
    <script type="text/javascript">
      function loadMe(){
          console.log('call');
      }
    </script>
  </head>

  <body onload="loadMe();">
  </body>
</html>

x
函数loadMe(){
console.log('call');
}


window.onload
vs
body.onload


使用
window.onload
,因为这样可以将结构与动作分开。

重命名onload函数!在您的第一个代码中,函数将在onload事件之前执行,您需要使用:
window.onload=loadMe
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>x</title>
    <script type="text/javascript">
      function loadMe(){
          console.log('call');
      }
    </script>
  </head>

  <body onload="loadMe();">
  </body>
</html>