我觉得如果JS放在尾部的话,浏览器已经渲染过页面了吧,不知道JS这时候用$(document).ready()或者JS原生的DOMContentLoaded事件吗?还有什么用?本人还处于JS入门,望了解页面渲染过程的人来说说这方面的知识。
我觉得如果JS放在尾部的话,浏览器已经渲染过页面了吧,不知道JS这时候用$(document).ready()或者JS原生的DOMContentLoaded事件吗?还有什么用?本人还处于JS入门,望了解页面渲染过程的人来说说这方面的知识。
最好是加上,不过不加影响也不大。
浏览器是顺序加载网页的
如果放在前面,浏览器会在加载 DOM 前加载并执行那些代码(执行代码耗费时间的话后面的DOM也是要等到执行完再加载),如果其中有涉及 dom 操作的代码必然会失败。
如果放到最后,就是在代码前面的 DOM 加载完毕后加载并执行这些代码(如果代码有操作后面的dom也会失败)。所以说放到最后因为执行代码的时候几乎所有DOM都加载完了,所以一般也不会出问题。$(document).ready()
这句也是在所在的位置执行,但不同的是这句只是定义并注册了一个函数,函数代码并没有执行,而是在所有DOM加载完毕之后执行,所以只要你代码不出错就不会有问题。
所以,建议是加上,实在太懒不加也行
应该是一样的效果,之所以js放到最后,也就是为了防止页面加载阻塞,但是其中onload是在页面Dom和其他元素都加载完之后触发,而$(document).ready()是在页面Dom加载之后触发,就是$(document).ready()是快于onload的。
个人感觉还是有必要加上的。虽然不加大多数时候都不会出错,但是有的时候也会出问题,具体没有深入学习过。
比如学习angular的时候,
// 作用相当于ng-app 有点类似声明模块的意思
angular.bootstrap(document, ['app']);
直接这样写就没有效果,加个window.onload
就有效果了,我也不知道为什么— -!
持久的习惯->优秀的规范->低误差率->高生产率->提升价值
看,每一个小的习惯,积少成多,就是价值的来源。
简约计算,相当于你的体重不是按猪肉价在卖了,而是升级到了新西兰进口流肉的价了啊,兴奋否?!
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
一般是不需要的,但是
$(document).ready()
同时可以作为触发事件的条件,触发时机就是当DOM加载完成时。