从 JavaScript 1.2 开始,您可以用对象初始化程序创建对象,另外,您可以首先创建一个构造函数并用 new 运算符来创建该对象的实例。
使用对象初始化程序
除了用构造函数来创建对象,您可以用对象初始化程序创建对象,对象初始化程序(Object initializer)技术是从 C++ 中引用来的,它的用法如下:
objectName = {property1:value1, property2:value2,..., propertyN:valueN}
这里 objectName 是新对象的名字,每个 propertyI 是一个标识符(可能是一个名字、数字或字符串直接量),每一个 valueI 是赋予属性 propertyI 值的表达式。objectName 和赋值是可选项。下面的例子创建有三个属性的对象 myHonda,注意属性 engine 本身是具有它自己的两个属性对象:
myHonda = {color:"red",wheels:4,engine:{cylinders:4,size:2.2}}
使用构造函数
另外您还可以用构造函数来创建对象:
用构造函数定义对象类;
用 new 运算符创建对象实例。
创建一个函数来指定对象的名字、属性和方法来定义对象类,例如假设您需要创建的对象类为 car,它具有属性 make、model、year 和 color,您可以这样:
function car(make, model, year) {
this.make = make
this.model = model
this.year = year
}
现在您可以创建一个对象:mycar,
mycar = new car("Eagle", "Talon TSi", 1993)
您还可以给先前定义的对象添加一个属性,如:mycar.color = "black" ,然而它不会影响其它的同类对象。
索引对象属性
在 JavaScript 中,对象也是一个数组,可以按名称(使用对象名称,后跟一个圆点和属性的名称)来引用一个对象的任何成员(属性和方法), 也可以按其数组下标索引来引用。JavaScript 中下标的是从 0 开始编号的,也可以用其名称来引用下标。因此您可用多种方法来引用属性,如果某文档有两个表单,其中第二个表单名为“myForm”下面的方法是等价的:
document.myForm
document.forms[1] // [1] 是 HTML 源顺序中属性 forms 的索引。
document.forms["myForm"]
为对象类定义属性
您可以用 prototype 属性在先前定义的对象类中加入一个属性,它可以被所有指定的对象类所共享。下面的代码为 car 类所有的对象添加一个 color 属性,并为 car1 的 color 属性赋值:
Car.prototype.color=null
car1.color="black"