创建Object实例的方式有两种。
第一种是使用new操作符后跟Object构造函数
1 var person = new Object(); 2 person.name = "liao"; 3 person.age = 21;
另一种方式是使用字面量形式表示法
1 var person = { 2 name: "liao", 3 age: 21 4 };
在使用字面量语法时,属性名也可以使用字符串
1 var person = { 2 "name" : "liao"; 3 "age" : 21; 4 5 : true //数值属性名会自动转换成字符串 5 };
在使用字面量语法时,如果留其花括号,则可以定义只包含默认属性和方法的对象
1 var person = {}; 2 person.name = "liao"; 3 person.age = 21;
注意:在使用对象字面量定义对象时,不会调用Object构造函数
实际上,对象字面量是向函数传递大量可选参数的首选方式
1 function displayInfo(args){ 2 var output = ""; 3 if(typeof args.name=="string"){ 4 output +="Name: " + args.name + " "; 5 } 6 if(typeof args.age=="number"){ 7 output +="Ages:" + args.age + " "; 8 } 9 console.log(output); 10 } 11 displayInfo({ 12 name:"Nicholas", 13 age:29 14 }); 15 displayInfo({ 16 name:"Greg" 17 })
在Javascript中也可以使用方括号表示法来访问对象的属性(不推荐使用),他的主要优点是可以通过变量来访问属性,如果属性名中包含会导致语法错误的字符,
或者属性名使用的是关键字或保留字,也可以使用方括号表示法
1 var propertyName = "name"; 2 console.log(person[propertyName]); 3 person["first name"] = "zhi";