[TOC]
## Object类型
### Object 实例化
到目前为止,我们看到的大多数引用类型值都是 `Object` 类型的实例;而且,`Object` 也是 ECMAScript 中使用最多的一个类型。虽然 `Object` 的实例不具备多少功能,但对于在应用程序中存储和传输数据而言,它们却是是非常理想的选择。
> JavaScript 中有句话说,[万物皆对象](https://segmentfault.com/a/1190000012037062),当然 JavaScript 中不仅仅是对象,还有其他的,但是在JavaScript对象的存在是多方面的,应用也是最多的。
创建 `Object` 实例的方式:
- 使用 `new` 操作符进行实例化
```js
var person = new Object();
person.name = "SpiritLing";
person.age = 29;
```
- 使用对象字面量的表达式
```js
var person = {
"name" : "SpiritLing",
"age" : 22
};
```
在使用对象字面量的表达式时,如果花括号中为空,则和 `new` 操作符实例化一样。在函数传入数据时,使用字面量表达式,可以更清楚展示,能够给人一种封装数据的感觉。
### 对象属性访问
- 点表示法
```js
var person = {
"name" : "SpiritLing",
"1" : 22
};
console.log(person.name); //"SpiritLing"
console.log(person.1); //Error:Uncaught SyntaxError: Unexpected number
```
如上所示,使用点表示法可以获取属性,但是当键名(或者说属性名)是数字或者其他特殊字符时,会出现报错问题。所以我们需要使用另外一种方式。
- 方括号表示法
```js
var person = {
"name" : "SpiritLing",
"1" : 22
};
console.log(person["name"]); //"SpiritLing"
console.log(person["1"]); //22
```
当使用方括号表示法时,可以准确的获取到属性,这也是JavaScript中的推荐用法。