问个问题~~~~
来源:2-1 项目准备及编写HTML基本结构
Oo君陌oO
2019-03-27 10:48:02
实际开发中JS加载是放在最后吗 采用window.onload的会不会影响性能,看过一篇文章说是window.onload也会造成某些问题
1回答
同学,你好。一般实际开发中js加载是放在最后的,采用window.onload确实会造成一些影响,
window.onload事件是在整个页面包括dom结构、图片等等全部加载完成之后才会触发。
其次,HTML加载时是由上往下的,在HTML加载的时候,遇到function关键字,声明一个函数的时候,就会在内存中开辟一个新的空间来对函数进行存储,方便以后进行调用。
所以,当将一个函数function fun()写到window.onload()=function(){}内部的时候,需要整个页面加载完成的之后,才声明这个函数,也就意味着,当HTML加载到onclick="fun()"的时候,window.onload=function(){}里面的函数f还没有被声明,这时候内存中就找不到function fun(),于是就会报错。
那么,将function fun()移到window.onload()=function(){}外,则HTML加载到<head></head>的时候就会声明函数f了,所以进行onclick绑定的时候就能够在内存中找到fun()并进行调用。
祝学习愉快!
相似问题