向页面中插入JS的主要方法,就是使用<script>元素。它现在使用的有5个属性。
1.asyns:可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作。
2.charset:可选。表示通过src属性制定的代码的字符集。
3.defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。
4.src:可选。表示包含要执行代码的外部文件。
5.type:可选。表示编写代码使用的脚本语言的内容类型。
一、使用<script>的方法
1.直接在页面中嵌入js代码
2.包含外部js文件
使用第一种方法时嵌入时,只需要为<script>指定type属性,然后像下面这样,直接把js代码放在元素内部就可以了。
<script type="text/javascript">
function sayHi(){
alert('hi')
}
sayHi()
</script>
包含在<script>元素内部的js代码将被从上往下依次解释,在解释器对<script>元素内部的所有代码求值完毕以前,页面中的其余内容都不会被浏览器加载或显示。
同时,在使用这种方法嵌入js代码时,不要在代码中任何地方出"</script>"字符串。如:
<script type="text/javascript">
function sayHi(){
alert("</script>")
}
sayHi()
</script>
这样会报错的。因为按照嵌入时代码的规则,当浏览器遇到字符串"</script>"时,就会认为那是结束的标签,当然也有解决办法,使用转义字符"/"就可以解决。
<script type="text/javascript">
function sayHi(){
alert("<\/script>")
}
sayHi()
</script>
这样程序就不会报错,正常执行。
当然,尽量不要这样写。你显示什么不好非要费劲显示这个给自己找事儿?
使用第二种方法通过<script>元素来包含外部文件,src属性是必须的。这个属性的值是一个指向外部的js文件的链接。如:
<srcipt type="text/javascript" src="example.js"></srcipt>
需要注意的是,带有src 属性的<script>元素不应该在标签之间再包含额外的js代码,如果包含了代码,只会下载并执行外部脚本文件,嵌入的代码会被忽略。
同时,通过src属性还可包含来自 外部域 (跨域)的JS文件,和<img>标签一样,src属性可以直接指向当前HTML页面域之外的某个域中的完整URL,例如:
<srcipt type="text/javascript" src="https://www.baidu.com/"></srcipt>
这样外部域的代码也会被加载和解析。利用这一点就可以在必要时通过不同的域来提供JS文件。
二、<script>标签的位置:
传统做法是放在<head>中,但是代码量较多时,会导致浏览器呈现页面时出现明显延迟,期间串口一片空白,造成用户体验感极差。
解决办法很简单,就是把它放到<body>标签下面......