JavaScript object 概述:
(1)定义
对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象。
简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。
var o = {
p : "Hello World"
}
上面代码中,大括号就定义了一个对象,它被赋值给变量o。这个对象内部包含一个键值对(又称为“成员”),p是“键名”(成员的名称),字符串“Hello World”是“键值”(成员的值)。键名与键值之间用冒号分隔。如果对象内部包含多个键值对,每个键值对之间用逗号分隔。
(2)键名
键名加不加引号都可以,上面的代码也可以写成下面这样。
var o = {
"p" : "Hello World"
}
但是,如果键名不符合标识名的条件(比如包含数字、字母、下划线以外的字符,或者第一个字符为数字),也不是正整数,则必须加上引号。
(3)属性
对象的每一个“键名”又称为“属性”(property),它的“键值”可以是任何数据类型。如果一个属性的值为函数,通常把这个属性称为“方法”,它可以像函数那样调用。
var o = {
p : function(x) { return 2 * x;}
}
o.p
// 2
生成方法:
对象的生成方法,通常有三种方法。除了像上面那样直接使用大括号生成({}),还可以用new命令生成一个Object对象的实例,或者使用Object.create方法生成。
var o1 = { }
var o2 = new object () ;
var o3 = object . create (null);上面三行语句是等价的。一般来说,第一种采用大括号的写法比较简洁,第二种采用构造函数的写法清晰地表示了意图,第三种写法一般用在需要对象继承的场合。