到目前为止,我们看到的大多数引用类型值都是Object类型的实例;创建Object实例的方式有两种。
第一种:使用new操作符后跟Object()构造函数,示例:
var person = new Object();
person.name = "Nicholas";
person.age = 29;
第二种:使用对象字面量表示法。对象字面量是对象定义的一种简写形式,目的在于简化创建包含大量属性的对象的过程。例:
var person = {
name : "Nicholas",
age : 29
}
在使用对象字面量语法时,属性名也可以使用字符串:
var person = {
"name" : "Nicholas",
"age" : 29
}
另外,使用对象字面量语法时,如果留空其花括号,则可以定义只包含默认属性和方法的对象:
var person = {};
person.name = "Nicholas";
person.age = 29;
虽然可以使用前面介绍的任何一种方法来定义对象,但开发人员更青睐对象字面量语法,因为这种语法要求的代码量少,而且能够给人封装数据的感觉。实际上,对象字面量也是向函数传递大量可选参数的首选方式,例如:
function displayInfo(args){
var output = " ";
if(typeof args.name == "string"){
output += "Name: " + args.name + "\n";
}
if(typeof args.age == "number"){
output += "Age: " + args.age + "\n";
}
alert(output);
}
displayInfo({
name: "Nicholas",
age: 29
});
displayInfo({
name : "Greg"
});
一般来说,访问对象属性时使用的都是点表示法,不过,在javascript中也可以使用方括号[]表示法来访问对象的属性:
alert(person["name"]);
alert(person.name);