js代码整合到html文件的时候,到底是如何解释执行的,下面总结几种情况:
1、<script></script>标记嵌入
(1)不带defer属性的js语块按出现的顺序执行,否则IE会打乱执行;
(2)任何不带defer属性的<script>元素都可以调用document.write()方法,传递给这个方法的文本被插入到文档中脚本所在的位置;
(3)document.write()常在body中被调用,head中少见;
2、onload事件句柄
(1)文档解析之后,所有的脚本都运行;浏览器再启动onload事件,
(2)当注册多个onload句柄的时候,浏览器调用所有的句柄,但不保证顺序;
(3)由于onload事件句柄在文档全部解析之后调用,所以不要调用document.write(),任何这样的操作都重新打开一个新的文档并且覆盖掉当前文档;
3、事件句柄和javascript url属于异步执行;即用户点击时触发;
4、onunload事件句柄
(1)当用户离开web页面时,浏览器触发onunload事件,给该页面上的js最后一次运行机会;
(2)可以通过设置<body>标记的onunload属性定义一个onunload句柄;
(3)如果应用程序打开一个浏览器窗口,当用户离开主页的时候,onunload句柄提供一个机会关闭该窗口;
(4)onunload句柄不应该运行任何耗费时间的操作,也不应该弹出一个对话框,