什么是JavaScript
JavaScript是一门用来与网页交互的脚本语言
1. JavsScript历史:
最初,为验证简单地表单都需要与服务器进行通信,导致浏览网页拥有很多不必要的耗时。因此需要一种客户端脚本语言来处理输入验证,从而在客户端浏览器解决表单验证问题而不用与服务端进行通信。JavaScript就是网景公司基于这种目的开发的一种编程语言。
JavaScript与Java没啥关系,之所以要起名JavaScript是因为要蹭Java热度,JavaScript与Java的区别就像雷锋与雷峰塔的区别一样。
紧接着微软发布了IE3并包含自己的名为JScript的JavaScript实现。这意味着同时出现了两个版本的JavaScript:网景的JavaScript和IE的JScript。因此JavaScript开始进行标准化。
欧洲计算机制造商协会 (ECMA) 承担了JavaScript标准化工作。他们发布了 ECMS-262(即ECMAScript作为该脚本语言的标准。这意味着各家浏览器均以ECMAScript作为自己实现这种脚本语言的依据,具体实现方式可能有所不同。
2. JavaScript实现
虽然JavaScript在很多场合与ECMAScript同义,但是完整的JavaScript远不限于ECMA-262所定义的那样。完整的JavaScript包含以下部分:
- ECMAScript 即JavaScript语言标准规范,由ECMA-262定义
- DOM 文档对象模型,提供与网页内容交互的方法接口(API)
- BOM 浏览器对象模型,提供与浏览器交互的方法接口(API)
2.1 ECMAScript
ECMAScript定义了这种脚本语言的语法、类型、语句、关键字、保留字、操作符、全局对象。
ECMAScript定义了该脚本语言的标准规范,为语言的实现提供了依据。不同的厂商可以根据该标准实现自己的版本,如JavaScript是ECMAScript的一种实现,Adobe ActionScript提供了ECMAScript的另一种实现。
2.2 DOM
DOM(Document Object Model)文档对象模型,由万维网联盟(W3C)进行标准化。DOM是用ECMAScript实现的,它是一个应用编程接口(API),DOM将整个页面抽象为一组分层节点。HTML页面的每个组成部分都是DOM的节点,用户可以通过DOM API轻松访问DOM树中的节点,从而完成DOM节点的增加、删除、查找、修改。
如以下的HTML页面:
<html>
<head>
<title>Sample Page</title>
</head>
<body>
<p> Hello World!</p>
</body>
</html>
通过 DOM树 可以表示为一组分层节点:
2.3 BOM
BOM浏览器对象模型,是一个应用编程接口(API),用户可以通过BOM API完成对浏览器窗口的访问和操作,用于对浏览器显示页面之外的部分进行控制。BOM的实现没有一个统一标准,因此不同浏览器实现的BOM会不同,但是可以假定各种浏览器的BOM存在很大一部分的公共特性。