天天看點

window.onload不能正常執行

第一天的需求寫了一個

window.onload

 ,可以正常執行,第二天加了一個類似的需求,為了分開各個功能,我copy了前一天的代碼,完成了功能,沒有進行測試,直接上線,導緻原來的代碼無法運作,就像下面的代碼一樣

<script>
  // 第一天寫的代碼
  window.onload = function () {
    console.log("window.onload1");
  };

  // 第二天加的需求
  window.onload = function () {
    console.log("window.onload2");
  };
</script>
      

控制台隻能列印

window.onload2      

兩次指派

window.onload

,第一次的值被第二次的值給覆寫了,是以第一個函數并沒有執行

正确的寫法應該是

<script>
  function func1() {
    console.log("window.onload1");
  }

  function func2() {
    console.log("window.onload2");
  }

  //   隻能有一個`window.onload`
  window.onload = function () {
    func1();
    func2();
  };
</script>
      

可以得到期望的輸出

window.onload1
window.onload2