《JavaScript高级程序设计》笔记二

时间:2024-06-16 09:05:44

第二章 在HTML中使用JavaScript

要想把JavaScript放到网页中,就必须涉及到Web的核心语言HTML。向HTML页面中插入JavaScript的主要方法,就是使用<script>元素。下面我来归纳一下<script>标签比较重要的属性。

async属性(定义为异步脚本的属性):浏览器执行到这里时,在下载js脚本的同时会继续往下解析页面,比如下载其他资源资源,解析html或等待其他待加载的脚本等(异步执行js脚本)。当js脚本下载完了,才会暂停页面解析,立即执行js脚本;

defer属性(定义为延迟脚本的属性):浏览器执行到这里时,在下载js脚本的同时会继续往下解析页面,比如下载其他资源资源,解析html或等待其他待加载的脚本等(异步执行js脚本)。当文档完全被解析和显示后再执行!

注意:

①在现实中,如果存在多个异步脚本(延迟脚本),async(defer)属性并不能保证脚本间按先后顺序执行;在我们的页面中,最好不要出现多个异步脚本(延迟脚本);

②用<script&></script>嵌入JavaScript代码时,JavaScript代码中任何地方出现</script>字符串时都要转意,否则解析器会默认结束JavaScript代码的解析。特殊字符串转义,如下图:

字面量 含义
\' 单引号('),在用单引号表示的字符串中使用。例如:'He said, \'hey\' !'
\" 单引号("),在用双引号表示的字符串中使用。例如:"He said, \"hey\" !"
\& 和好
\\ 反斜杠
\n 换行符
\r 回车符
\t 制表符
\b 退格符
\f 换页符
\xnn 以十六进制代码nn表示一个字符(其中n为0-F)。例如,\x41表示"A"
\unnn 以十六进制代码nnn表示的一个Unicode(其中n为0-F)。例如,\u3a3表示希腊字符Σ

③HTML页面正常情况下是按顺序进行的,一行一行的执行,执行到<script>标签时就会停止继续向下执行,下载JavaScript代码或直接执行JavaScript代码。这样就会让页面显示渲染一部分卡一下执行JavaScript再渲染,给用户的体验很差!所以建议JavaScript代码尽量放在HTML页面最下方(JavaScript代码实在是不能放在最下面时可以使用window的onload事件等)