注:笔记主要是查漏补缺用
一、<script>元素
1.注意事项:
1)使用<script>元素主要有两种用法:
- 直接在页面中嵌入JS代码
- 引入外部JS文件
2)包含在<script>元素内部的JS代码将被从上至下依次解释。
3)使用<script>嵌入JS代码时,不要在代码中任何地方出现"</script>"字符串,否则会产生错误。
解决办法:
<script>
function sayScript(){
alert("<\/script>");
}
</script>
2.<script>的属性
1) scr 属性: 指向外部JS文件的链接
作用:通过<script>元素包含外部JS文件。
在使用scr时,如果包含了嵌入的代码,则只会下载并执行外部脚本文件,嵌入的代码会被忽略。
src属性还可以包含来自外域的JavaScript文件。即它的scr属性可以是指向当前html页面所在域之外的某个域之中的URL。
<script type="text/javascript" src="http://www.somewhere.com/afile.js"></script>
利用这一点就可以在必要时通过不同的域来提供JS文件(但是要注意安全性)
2) defer 属性 延迟脚本
- 作用:脚本会被延迟到整个页面都解析完毕后再运行。相当于告诉浏览器立即下载,但是延迟执行。
- 注意:脚本会延迟到</html>结束后执行,最好只包含一个延迟脚本
- defer 属性只使用于外部脚本文件
- HTML5中的实现会忽略给嵌入脚本设置的defer属性。
3)async 属性 异步脚本
- 作用:告诉浏览器立即下载文件。但是并不保证按照指定它们的先后顺序执行。其目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。为此,建议异步脚本不要在加载期间修改DOM.
- 异步脚本一定会在页面的load事件前执行
4)charset属性
5)type 属性
二、<noscript>元素
包含在<noscript>元素中的内容只有在下列情况下才会显示出来:
- 浏览器不支持脚本
- 浏览器支持脚本,但脚本被禁用。
除此之外,浏览器不会呈现这个元素中的内容。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script></script>
<script></script>
</head>
<body>
<noscript>
<p>本页面需要浏览器支持(启用)JavaScript。
</noscript>
</body>
</html>