js是一种脚本语言,
主要功能:动态修改HTML页面的内容,包括创建、删除 HTML 页面元素,修改 HTML 页面元素的内容、外观、位置、大小等。
简介:
- 一种可以嵌入 web 页面中的解释性语言;
- 基于对象,提供了非常丰富的内部对象共设计人员使用,充斥着大量函数;
- 脚本语言,其源代码无须经过编译,由浏览器解释执行;
- 弱类型变量语言,其变量在使用前无须声明,由解释器在运行时检查其数据类型;
- 采用一种文本字符格式,可以直接嵌入 HTML 文档中,并且可动态装载。
在 HTML 页面中嵌入执行 js 代码有两种方式:
- 使用 javascript:前缀构建执行 js 代码的 URL
- 使用 <script.../> 元素来包含 js 代码
<body>
<a href="javascript:alert('运行JavaScript!');">运行JavaScript</a>
<script type="text/javascript">
alert("直接运行的JavaScript");
</script>
</body>
导入 JavaScript 文件
<script src="test.js" type="text/javascript"></script>
使用 script 元素的 defer 推迟脚本执行
defer 属性告诉浏览器 等 整个页面载入之后、解析完毕才执行该 <script.../>元素中的脚本
<script type="text/javascript" src="defer.js" defer></script>
使用 script 元素的 async 异步执行脚本
传统模式下,浏览器会按照从上到下的方式解析 HTML 页面的元素,如果页面上出现 <script.../> 元素,浏览器将会解析并指定 <script.../> 元素导入的脚本文件——在脚本文件执行完成之前,浏览器不会解析处理 <script.../> 元素 之后的内容。如果 <script.../> 元素导入的文件非常耗时,将导致浏览器无法向下执行,页面将长时间显示一片空白!
可以借助 async 属性来解决该问题,会启动新线程、异步执行导入的文本文件,浏览器也会继续乡下解析、处理页面内容
<script type="text/javascript" src="async.js" async></script>
假如 js 文件是如下,需要循环1000000次才会显示弹窗,如果不加 async 属性,则计算完才会显示浏览器内容,如果加就可以先显示浏览器内容,不会让浏览器出现长时间空白的情况
var sum = 0;
for(var i = 0; i < 100000000; i++){
sum += i;
}
alert(sum);
noscript 元素
用来向不支持 JavaScript 或 禁用了JavaScript 的浏览器显示提示信息