ECMAScript对象基础
ECMA-262把对象(object)定义为“属性的无序集合,每个属性存放一个原始值、对象或函数”。严格地说,这意味着对象是无特定顺序的值的数组。尽管ECMAScript如此定义对象,但它更通用的定义基于代码的名词(人、地点或事物)表示。
每个对象都由类定义,可以把类看作对象的配方。类不仅要定义对象的接口(interface)(开发者访问的属性和方法),还要定义对象的内部工作(使属性和方法发挥作用的代码)。编译器和解释器都根据类的说明构建对象。
程序使用类创建对象时,生成的对象叫做类的实例(instance)。对类生成的对象的个数的唯一限制来自于运行代码的机器的物理内存。每个实例的行为方法相同,但是实例处理一组独立的数据。由类创建对象实例的过程叫实例化(instantiation)。
面向对象语言的要求:
1、封装:把相关的信息存储在对象中的能力;
2、聚集:把一个对象存储在另一个对象内的能力;
3、继承:由另一个类(或多个类)得来的类的属性和方法的能力;
4、多态:编写能以多种方法运行的函数或方法的能力。