JavaScript中的对象是可变的键控集合。数组、函数、正则表达式皆是对象。
对象是属性的容器,属性的名字可以是包括空字符串在内的任意字符串。属性值可以是除undefined值之外的任何值。JavaScript里的对象是无类型的。,对象也可以包含其他对象。
JavaScript包含一种原型链的特性,允许对象继承另一个对象的属性。正确的使用它能减少对象初始化时消耗的时间和内存。
对象字面量
一个对象字面量就是包围在一对花括号中的零或多个“名/值”对。对象字面量可以出现在任何允许表达式出现的地方。
属性名可以是包含空字符串在内的任何字符串,如果属性名是合法的标识符且不是保留字,则不强制要求用引号括住属性名,逗号用来分隔多个“名/值”对。
检索
检索对象里包含的值,可以采用在[]后缀中括住一个字符串表达式的方式,如果字符串表达式是一个字符串字面量,而且是一个合法的标识符且不是保留字,那么也可以用.表示法,如果尝试检索一个并不存在的成员属性的值,返回undefined
||可以用来填充默认值
尝试从undefined的成员属性中取值将会导致TypeError异常,可以通过&&运算符来避免错误
flight.equ && flight.equ.model
更新
对象里的值可以通过赋值语句来更新。如果属性名已经存在于对象里,那么替换原有值,原来没有那个属性名的,将该属性扩充到对象中。
引用
对象通过引用来传递。他们永远不会被复制。