在页面中用script标签引入javascript文件(<script type="text/javascript" src="js文件地址"></script>),浏览器在渲染页面的时候,当读取到script元素时,浏览器不会以HTML或XHTML的方式处理其内容,浏览器会通知浏览器的脚本引擎来接管script元素中的内容。
script元素的type属性定义脚本类型,type类型有:
1.text/ecmascript(表示以ECMAScript方式解析这段脚本,即基于ECMA-262脚本标准)
2.text/jscript(表示以JScript方式解析这段脚本,它是微软在IE浏览器中所实现的ECMAScript语言的一种变种)
3.text/vbscript
4.text/vbs
(3、4种表示以微软的VBScript方式处理,是完全不同的脚本语言)
script元素的language属性(早期的script标签中用其属性来解决浏览器兼容问题):
<script type="text/javascript" src="a.js" language="javascript1.2"></script>
language定义支持该脚本的浏览器版本(即浏览器支持javascript1.2,则就执行a.js文件中的代码)
script元素的defer属性:
<script type="text/javascript" src="a.js" language="javascript1.2" defer="defer"></script>
defer属性设置成"defer",表示该脚本不会生成任何文档内容,于是浏览器可以提前处理页面的剩余部分,在页面处理结束并做好显示准备时才处理脚本部分。
script标签在页面中放的位置。
浏览器从同一个域名并发载入的资源是有限制的,所以当把脚本添加到head元素中时,首先载入的将是脚本,其次才是文档的剩余部分。为什么说,把引入了javascript的script元素标签放在head中可能会使得浏览器延迟页面剩余部分的显示?主要是因为脚本中可能会调用document.write方法修改dcument对象。
http://www.ibm.com/developerworks/cn/web/1308_caiys_jsload/index.html 这个链接的内容专门讲了脚本位置对页面渲染的影响以及好的解决方法,很详细,必读。(7-4更)
JavaScript脚本存放的位置参考学习地址:http://www.cnblogs.com/ddyq/archive/2012/03/06/2382816.html
参考:《Javascript学习指南》