JS诞生于1995年,用于处理以前由服务器语言负责的一些验证操作。如今,JS具备了与浏览器窗口及其内容几乎所有方面交互的能力。JS语言能够处理复杂的计算和交互,拥有了闭包、匿名(lamda)函数,元编程等特性。
1.1JavaScript简介
1995年2月,Netscape公司开发了Livescript客户端脚本语言,为搭上媒体热炒Java的顺风车,临时将Livescript改名为JavaScript。随即在Netscape Navigator 3中发布了JavaScript1.1。
1996年8月微软在IE3中加入了名为JScript的JavaScript实现。
1997年,ECMA指定TC39定义了一种名为ECMAScript的新脚本语言的标准。(ECMA-262)
1.2JavaScript实现
JavaScript实现由三部分组成:
1.2.1 核心(ECMAScript):提供核心语言功能
ECMAScript是对实现该标准规定的各方面内容的语言的描述,与web浏览器没有依赖关系,不包含输入输出定义,web浏览器只是ECMAScript实现可能的宿主环境之一。它规定了这门语言的语法、类 型、语句、关键字、保留字、操作符、对象。
2009年12月3号发布了第五版ECMA-262(ECMAScript3.1)。
要想成为ECMAScript的实现:
1.支持ECMA-262描述的所有“类型、值、对象、属性、函数以及程序句法和语义”;(可添加该标准中没有规定的新对象和对象的新属 性,支持该标准中没有定义的程序和正则表达式语法。)
2.支持Unicode字符标准;
2008年主流浏览器全部做到了与ECMA-262兼容。
1.2.2 文档对象模型(DOM):提供访问和操作网页内容的方法和接口
Document Object Model是针对XML但经过扩展用于HTML的应用 程序编程接口(API,Application Programming Interface)。DOM把整个页面映射为一个多层节点结构。HTML或XML页面中的每 个组成部分都是某种类型的节点,这些节点又包含不同类型的数据。借助DOM提供的API,开发者可以删除、添加、替换、修改任何 节点。
DOM1:由DOM核心(规定如何映射基于XML的文档结构)和DOM HTML(在DOM核心基础上扩展添加了针对HTML的对象和方法)两个模块组成。
DOM2:扩充了视图、事件、样式、遍历和范围的接口。
DOM3:引入了加载和保存模块、验证模块。
1.2.3 浏览器对象模型(BOM):可以访问和操作浏览器窗口,提供与浏览器交互的方法和接口。
1.3JavaScript版本
只有Netacape/Mozilla浏览器才 沿用最初的JS版本编号。
大多数浏览器在提及对JavaScript的支持情况时,一般都以ECMEScript兼容性和对DOM的支持情况为准。