js写在body之前与window.onload的区别

一直以为写js代码的时候,直接写在body之上就可以直接运行,效果与window.onload一样。

结果今天写demo的时候,用js获取图片宽度,将他作为容器的宽度时出了错!

但是过了一会刷新又变正常。

经查阅才知道,两者还是有区别的。

window.onload会在页面完成后才开始运行,这就包括了图片的加载。

而直接写在body上面的js,运行到该处就会执行,不会管你图片的加载情况。

因此,才会出现我刚开始获取不到图片的offsetWidth的情况。


所以说,对页面一些属性的获取,最好还是写在onload里面。

除非js很少又不用什么图片的属性,否则最好不写在body之上,而是养成写外部js文件的习惯。


版权声明:本文为github_38948311原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。