对象可以通过两种形式定义,文字(声明)形式 和 构造形式
文字语法
var myObj = { key: value, // ... }
构造形式
var myObj = new Object(); myObj.key = value;
文字形式和构造形式生成的对象是一样的,唯一的区别是,文字形式可以添加多个键值对,构造形式需要逐个添加。一般来说你会使用文字形式
null 有时候会被当作一种对象,这其实是语言本身的一个 bug, 实际上,null 本身是基本类型。JS 中万物皆是对象,这是错误的说法。
JS 中有许多特殊的对象子类型,比如函数,数组,我们称之为复杂基本类型。函数本质上和普通的对象一样,只是可以调用,所以可以像操作对象一样操作函数。数组具备一些额外的行为,数组中内容的组织方式比一般的对象要稍微复杂一些