第3章 对象
1.如果尝试检索一个并不存在的成员属性的值,将返回 undifined
stooge['middle-name'] // undifined flight.status // undifined
|| 运算符可以用来填充默认值:
var middle = stooge['middle-name'] || "(none)" var status = flight.status || "unkown"
尝试从undifined的成员属性中取值将会导致TypeError异常。这时可以通过 && 运算符来避免错误。
flight.equipment // undifined flight.equipment.model // throw "TypeError" flight.equipment && flight.equipment.model // undifined
2.原型链在更新时是不起作用的,只有在检索值的时候才被用到
我们尝试去获取对象的某个属性,这个过程叫委托。
委托的过程:
查找对象的属性值、查找原型对象的属性、在原型对象的原型中找、 ... Object.prototype
3.函数的四种调用模式: