javascript学习指南|javascript中含有defer属性在IE下的执行顺序

更新时间:2017-08-19    来源:php常用代码    手机版     字体:

【www.bbyears.com--php常用代码】

defer现象描述

 代码如下

JavaScript defer attribute test page - tests deferring scripts in browsers
<script language=JavaScript type=text/javascript>
 
  </script>


<script language=JavaScript defer type=text/javascript>
 
  </script>


<script language=JavaScript type=text/javascript>
 
  </script>


<script language=JavaScript src="defer.files/extjs1.js" defer
type=text/javascript></script>


<script language=JavaScript src="defer.files/extjs2.js"
type=text/javascript></script>




<script language=JavaScript defer type=text/javascript>
 
  </script>


<script language=JavaScript type=text/javascript>
 
  </script>

href="javascript:;">Test Defer Attribute


<script language=JavaScript src="defer.files/extjs3.js" defer
type=text/javascript></script>


<script language=JavaScript src="defer.files/extjs4.js"
type=text/javascript></script>


其实defer的告诉浏览器读js脚本的时候完全不等脚本开始读下面的代码。然后让js脚本自己读完后在执行defer的脚本。给外链的js脚本添加defer="defer" 或 defer="true",例<script src="javascript.js" type="text/javascript defer="defer"/> 特别是比较大的脚本,提高整个网页的载入速度是非常明显的。

如果不声明defer="defer" 默认是 false


总结:

普通的是边解释,边执行

defer的是网页脚本加载完的后再执行

online 的所有的内容加载完后(包括图片)执行


注意:

defer="true"还可以用作defer="defer",似乎使用defer="defer"比较普遍,我查看一个微软的文档,好像XTHML格式的网页用defer="true"比较恰当。

另外注意,defer="true"这个东西不要在脚本程序段中调用document.write命令,因为将产生直接输出效果

如果不显式声明 defer ,则其默认值 是false

本文来源:http://www.bbyears.com/jiaocheng/34949.html