首页 > 代码库 > 游览器对js加载的次序
游览器对js加载的次序
直接看例子
<body> <script> console.log("first"); var script = document.createElement("script"); script.src = "js/test.js"; document.body.appendChild(script); //document.getElementsByTagName("head")[0].appendChild(script); </script> <script> console.log("second") </script> <script type="text/javascript"> $(function () { console.log("ready"); }); </script></body>
我们都知道游览器是上至下阅读的,当遇到js文件就去加载然后运作。
进入第一script时,我们动态生成了一个script,插入进body,然后第2个script,和第三个在dom ready 后执行的.
疑惑一 : 我们创建的script被append 到body后是在第3个script 之后还是在第一个script 之后 .
答案 : 第一个script之后,因为解释到这个时候,第三个script还没被读到.
疑惑二 : 那我们append 出去的script 会马上解读吗?会在第2,第3个script 前被解读吗?
答案 :不一定!如果你的script是单纯的代码,而不是link一个src,那么它会马上解读,但是如果script 是一个 src , 它会一直等到dom ready 后才会解读!不管你插入在header 还是body , script.async = false 也一样。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。