对象是JavaScript基本数据类型,在JavaScript中除了Undefined、Null、布尔型(ture、false)、字符串和数字之外,其他的都属于对象。
在JavaScript中,一个对象就是一个具有属性的特体,比如一个人就是一个对象,每个人都具有身高、体重、年龄等一些属性/特征,在JavaScript中,也可以用属性来给对象定义它的特征。
那么在JavaScript中对象要怎么创建呢?在JavaScript中如何创建对象主要有以下几种方法:
- 使用对象字面量创建对象(
key-value
) - 使用
new
创建对象 - 使用
Object.create()
创建对象 - 使用函数创建对象
- 使用原型创建对象
- 使用对象字面量创建对象
对象字面量是创建对象最简单的一种形式,目的是在于简化创建包含大量属性的对象的过程。对象字面量由若干属性名(keys
)和属性值(values
)成对组成的映射表,key
和value
中间使用冒号(:
)分隔,每对key/value
之间使用逗号(,
)分隔,整个映射表用花括号({}
)括起来。
使用对象字面量创建对象的语法如下:
var obj = { property_1: value_1, // property_# 可能是一个标识符... 2: value_2, // 或者是一个数字 // ... "property_n": value_n // 或是一个字符串 };
这里obj
是创建的对象的名称,每一个property_i
是一个标识符/属性名(可以是一个名称、数字或字符串字面量),并且每个value_i
是其对应的值,并且将这个值赋予给property_i
。来看一个具体实例:
var boy = { 'name': 'FEBuddy', 'age' : 21, 'height': 178, 'weight': 60 }
这个示例创建了一个名为boy的对象,对象有四个属性name
、age
、height
和weight
。这四个属性对应有一个属性值。
使用对象字面量创建对象时,如果留空其花括号({}
),则可以定义只包含默认属性和方法的对象。如:
var obj = {};
使用这种方式创建对象时,可以通过点(.
),也就是obj.key
给对象obj
创建对象属性,并且赋予对象的属性值。另外也可以通过方括号([]
),也就是obj['key']
给对象obj
创建对象属性,并且赋予对象的属性值。如下面的示例:
var boy = {}; boy.name: 'FEBuddy'; boy.age : 21; boy.height: 178; boy.weight: 60;
此时在Chrome中打印boy
对象时,输出的结果如下所示:
2. 使用new创建对象
使用new
操作符后跟Object
构造函数(有关于构造函数,后面再讲)也可以创建对象:
var obj = new Object(); // 和var obj = {};相同
虽然初始状态下,obj
是一个空对象,但在JavaScript中可以很方便地动态添加和使用成员,所以我们可以不断加入成员变量和方法。如:
var boy = new Object(); boy['name'] = 'FEBuddy'; boy['age'] = 21; boy['height'] = 178; boy['weight'] = 60;
其他三种方法暂时不太理解,等到用到时再深入介绍