JS中的script标签

1、JavaScript的书写位置

(1)我们一般放在网页的head或者body部分。

(2)将代码单独保存为.js格式文件,然后在HTML文件中使用<script src=""></script>这样的形式引入它。

:在JS文件中不需要<script>标签,直接编写JavaScript代码就可以了

2、<script><script>的属性

(1)src

可选,链接外部文件

(2)type

用script元素嵌入js代码记得要加type="text/javascript"
<script type="text/javascript">表示的是纯文本形式的JS脚本
其中text表示的是在<script></script>之间的是文本类型,javascript是为了告诉浏览器里面的文本是属于JavaScript语言。

(3)charset

字符编码属性,可选。默认是utf-8编码,主要表示通过src属性指定的代码的字符集,大多浏览器会忽略它的值,所以不必使用。

(4)language

脚本类型属性,不是标准组成的一部分,已废弃。大多数浏览器会忽略这个属性,已没必要使用。

(5)defer

如果script标签设置了该属性,则浏览器会异步的下载该文件并且不会影响到后续DOM的渲染;如果有多个设置了defer的script标签存在,则会按照顺序执行所有的script;defer脚本会在文档渲染完毕后,DOMContentLoaded事件调用前执行。

(6)async

async的设置,会使得script脚本异步的加载并在允许的情况下执行async的执行,并不会按着script在页面中的顺序来执行,而是谁先加载完谁执行。

注:defer和async的区别

①defer和async都属于异步加载,defer会比async稳定。
②defer是延迟执行(推迟解释,当前html页面解析完成后执行)js,async是当前js文件加载完成后执行js。

3、script标签放在head标签与body标签中的区别

(1)放<head>在部分

最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分。

(2)放<body>在部分

JavaScript代码在网页读取到该语句的时候就会执行。
image.png
注:javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行function那么对位置没什么要求的。


曦夏
7 声望3 粉丝