Chapter 3. Objects
javascript的简单类型:数字,字符串,布尔值,null和undefined。数字,字符串,布尔值拥有方法。
如果当一个声明的变量未初始化,该变量默认值是undefined;当函数没有明确返回值得时候,返回的也是undefined。
3.1对象字面量
就是直接对对象赋值,类似:
var empty_object = {}; var stooge = { "first-name": "Jerome", "last-name": "Howard" };
对象可以嵌套。
var flight = { airline: "Oceanic", number: 815, departure: { IATA: "SYD", time: "2004-09-22 14:55", city: "Sydney" }, arrival: { IATA: "LAX", time: "2004-09-23 10:42", city: "Los Angeles" } };
3.2检索
就是去对象中的值,可以用两种方式:
stooge["first-name"] // "Joe" flight.departure.IATA // "SYD"
如果取不存在的值,返回undefined。可以用||设置默认值。
var middle = stooge["middle-name"] || "(none)"; var status = flight.status || "unknown";
取undefined值会报TypeError异常,可以用&&避免:
flight.equipment;//不存在这个值,undefined
flight.equipment.model //取undefined的属性, throw "TypeError"
flight.equipment && flight.equipment.model // undefined
3.3更新
3.4引用
对象通过引用传递,永远不会被拷贝。