JavaScript简介

最后更新于:2022-04-01 23:53:03

## JavaScript简介 JavaScript诞生于1995年,它的主要目的是处理以前由服务器端语言负责的一些输入验证操作。 完整的JavaScript实现由下列三个不同的部分组成: - 核心(ECMAScript) - 文档对象模型(DOM) - 浏览器对象模型(BOM) **一、JavaScript简介** **1.1 ECMAScript** `ECMAScript`是由ECMA-262定义的,它提供了核心语言功能。 Web浏览器只是ECMAScript实现可能的宿主环境之一。宿主环境不仅提供基本的ECMAScript实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。 ECMA-262规定这门语言的下列组成部分:语法、类型、语句、关键字、保留字、操作符、对象 ECMAScript就是对实现该标准规定的各个方面内容的语言的描述。 ECMAScript的不同版本又称为版次,以第x版表示。目前最新的是ECMAScript 6.0(简称:ES6) **1.2 文档对象模型(DOM)** 文档对象模型(**DOM**,Document Object Model)是针对XML但经过拓展用于HTML的应用程序接口(**API**,Application Programming Interface)。 **DOM**把整个页面映射为一个多层节点的结构(结构树)。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。 **DOM**提供访问和操作网页内容的方法和接口。 **1.3 浏览器对象模型(BOM)** 浏览器对象模型(BOM,Browser Object Model)是指可以访问和操作浏览器窗口的应用程序接口(API) **BOM**提供与浏览器交互的方法和接口。 **二、在HTML中使用JavaScript** **2.1 ` ``` 注意:在使用``。 执行下面的代码时,会产生一个错误: ``` '); } ``` JavaScript代码的执行顺序:只要不存在defer和async属性,JavaScript代码就会从上至下依次解析。 第二种:使用外链脚本形式,必须有src属性,而且指定一个外部JavaScript文件的链接。 ``` ``` 注意:带有src属性的标签之间再包含额外的JavaScript代码,嵌入代码会被忽略。 只要不存在defer和async属性,浏览器都会按照` ``` 会先执行example.js,然后执行example2.js 注意:defer只适合外部脚本文件。 **2.3 异步脚本** `async`与`defer`属性类似,都用于改变处理脚本的行为,适用于外部脚本文件,并告诉浏览器立即下载,但标记为`async`的脚本并不保证按照指定它们的先后顺序执行。 ``` ``` 两个执行顺序不定。 指定`async`属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。 注意:异步脚本不要在加载期间修改DOM。 异步脚本一定会在页面的load事件前执行,但可能会在DOMContentLoaded事件触发之前或之后执行。 **2.4 使用外部文件的好处** - **可维护性**:将JavaScript文件都放在一个文件夹中,比每次都需要到不同的HTML页面修改JavaScript方便维护。 - **可缓存**:浏览器会缓存所有外部JavaScript文件,所以当你有多个页面使用同一个JavaScript脚本时,这个脚本只需下载一次。 **2.5 `