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代码在网页读取到该语句的时候就会执行。
注:javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行function那么对位置没什么要求的。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。