一、 javascript元素
1.在html中使用javascript 的方法,主要是使用<script>元素。
该元素属性如下:
async:异步执行,async 属性规定一旦脚本可用,则会异步执行,而不管页面是否解析完成。async 属性仅适用于外部脚本(只有在使用 src 属性时)。
defer:表示脚本在文档元素全部被解析完成后,再执行,只对引用外部js文件有效
src:可选表示包含执行代码的外部文件
type: text/javascript.
有多种执行外部脚本的方法:
- 如果 async="async":脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)
- 如果不使用 async 且 defer="defer":脚本将在页面完成解析时执行
- 如果既不使用 async 也不使用 defer:在浏览器继续解析页面之前,立即读取并执行脚本
2.使用<script>的两种方式
a.<script type="text/javascript">
function kk(){alert('a');}
</script>
b. <script type="text/javascript" src="http://abc.com/m.js"/>
注:两种方式不能混合使用,否则a种方式中定义的代码不被执行。
二、<script>元素的位置
按照惯例应该放到html中head元素中,但为了避免页面下载script文件而页面显示空白,最好是放到<body>元素的最后位置。
三、延迟脚本
1.方式一:使用<script type="text/javascript" defer="defer" src="example.js"/> 浏览器解析到本行时,会下载js,但等到页面解析完成后,js才被执行。
2.方式二:由于浏览器对defer属性的支持 程度不同,因此把延迟的脚本放到页面底部才是最佳选择
四. 异步脚本
<script type="text/javascript" async="async" src="example.js"/>
浏览器解析到本行时会异步下载example.js并执行,当前页面继续被解析,而不是等待js执行完成。