Javascript高级编程学习笔记(2)

js在浏览器中的使用,肯定会涉及到script标签。

那么script标签有哪些属性呢?

 

1.async:异步加载(不让页面等待该脚本的加载执行,异步加载页面的其他部分)

2.charset:设置js的字符集编码

3.defer:延迟脚本(当浏览器解析到/html 结束标签时才执行,该属性对嵌入脚本无效)

4.language:代码所使用的脚本语言(已废弃)

5.src:要执行的外部代码文件

6.type:与language类似可以看作是language的替代属性

 

在上面的这些属性中src就不用过多的说明了,除了src使用较多,并且应用范围较广的就是async和defer了

下面将主要分析一下这两个属性

首先是defer

根据说明,设置了该属性的script外部文件会在解析到</html>标签的时候才开始执行,并且会在DOMcontentonload 之前触发

而且根据html5的要求这些延迟脚本会按照在文档中的顺序执行

 

 

  DOM文档加载步骤:

   (1)解析html结构

   (2)加载外部脚本和样式表文件

   (3)解析并执行脚本代码

   (4)构造HTML DOM模型   //DOMContentLoaded执行点

   (5)加载图片等外部文件

   (6)页面加载完毕  //load

 

我们来测试一下

首先新建一个简单的html页面

<!DOCTYPE html> <html lang="zh"> <head> <title>title</title> <meta charset="utf-8"/> <meta name="Description" content=""/> <meta name="Author" content="巽秋"/> <style type="text/css"></style> <script src="./1.js"></script> <script src="./2.js"></script> </head> <body> <script> window.addEventListener("DOMContentLoaded", function () { //添加DOMContentLoaded事件 console.log("domContentLoad执行"); }, false); console.log("这里是嵌入脚本"); </script> </body> </html>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygwfy.html