一种面向对象的语言需要向开发者提供几种基本能力:
●封装:把相关的信息(无论数据或对数据的操作)存储在对象中的能力。
●聚集:把一个对象存储在另一个对象内的能力。
●继承:由另一个类(或多个类)得来类的属性和方法的能力。
●多态:编写能以多种形态运行的函数或方法的能力。
ECMAScript支持这些要求,因此可被看作是面向对象的编程语言。
在ECMAScript中,对象由特性(attribute)构成,特性可以是原始值,也可以是其他对象。如果特性存放的是函数,它将被看作对象的方法(mthod),否则这个特性将被看作属性(property)。
在JavaScript中,可使用的对象一般有 3 种:
独立于宿主环境的ECMAScript的实现提供的对象。简单地说,本地对象就是ECMAScript-262 中定义的引用类型。常用本地对象如下:
Array,Date,String,Boolean,Number,RegExp,Math,Global,Function,Object。
这些对象不依赖于特定的浏览器这种脚本的运行环境(即宿主),任何ECMAScrip的实现都会提供这一组对象。
由提供ECMAScript实现的宿主环境所提供的对象。对于在网页中使用的JavaScript而言,宿主对象就是浏览器及网页文档提供的一组对象。包含两种:
●BOM:浏览器对象模型
●DOM:文档对象模型
JavaScript是面向对象的编程语言(OOP),使我们有能力定义自己的对象和变量类型。然而,与其他OOP语言不同的是:在ECMAScript标准中,并没有正式的“类”的概念。对象的定义要由一个函数描述,可以将这种函数理解为其他OOP语言中类的构造函数。
本章我们将学习JavaScript的一部分本地对象。