关于script标签对

web文档引用js脚本有4种方式:内联(script标签对,没有src)、外部引用(src)、与html混合(作为文档节点的一个属性)、url调用。

script标签对默认使用type=“text/javascript”,如果使用type=“text/vbscript”只支持ie浏览器,老的浏览器支持language=“javascript”(已经被废弃);

当web浏览器解析script的时候,如果是一个不识别的type属性,该标签对可以用来存储信息;

当html解析器遇到script元素的时候,默认必须先执行script脚本,再恢复文档的解析和渲染。

普通的script标签与defer、async的区别:

第一、html解析器遇到script的元素会停止对文档的解析,直到脚本执行完毕,但是defer与async不同,文档解析不会停止;

第二、defer是在文档解析的同时下载脚本,文档解析完成解析脚本;多个defer执行顺序是根据它们在文档的顺序;(ie9以下不一定)

第三、async是在解析文档的同时下载脚本,当脚本下载完成时停止文档解析,立即执行脚本,脚本执行完毕再解析文档,执行顺序以下载完成为先,哪个async先下载完成,先执行哪个。

第四、defer与async在内联脚本中不起作用,defer与async同时出现,defer会被忽略。defer与sync一般与src共同起作用。

posted @ 2017-05-31 15:51  欢乐之家  阅读(203)  评论(0编辑  收藏  举报