到目前为止,我们看到的大多数引用类型值都是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);