window.onload不能正常执行

举报
彭世瑜 发表于 2021/08/14 00:51:33 2021/08/14
【摘要】 第一天的需求写了一个window.onload ,可以正常执行,第二天加了一个类似的需求,为了分开各个功能,我copy了前一天的代码,完成了功能,没有进行测试,直接上线,导致原来的代码无法运行,就像下面的代码一样 <script> // 第一天写的代码 window.onload = function () { console.log("windo...

第一天的需求写了一个window.onload ,可以正常执行,第二天加了一个类似的需求,为了分开各个功能,我copy了前一天的代码,完成了功能,没有进行测试,直接上线,导致原来的代码无法运行,就像下面的代码一样

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


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

控制台只能打印

window.onload2

  
 
  • 1

两次赋值window.onload ,第一次的值被第二次的值给覆盖了,所以第一个函数并没有执行

正确的写法应该是

<script>
  function func1() { console.log("window.onload1");
  } function func2() { console.log("window.onload2");
  } //   只能有一个`window.onload`
  window.onload = function () { func1(); func2();
  };
</script>


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

可以得到期望的输出

window.onload1
window.onload2

  
 
  • 1
  • 2

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/106543427

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。