4.3给对象添加值
空的对象就像一个空的数组,只是它使用的是花括号({})而不是方括号([ ]):
var object = {};
可以像为数组添加元素一样,来为对象添加元素,但我们使用字符串而不是数字,如下所示:
这里,首先创建了一个名为cat的空的对象。然后,逐一添加3个键-值对。然后,输入cat;,浏览器显示出该对象的内容。然而,不同的浏览器,可能会输出不同的对象。例如,Chrome输出的cat对象如下所示:
Chrome按照(legs、name和color)这样的顺序来输出键,而其他浏览器可能以不同的顺序输出它们。这是因为JavaScript没有按照任何特定的键的顺序来保存对象。
数组显然有一定的顺序:索引0在索引1之前,索引3在索引2之后。但是,对于对象,没有明显的方法对每个项进行排序。Colors应该放在legs之前还是之后?对于这个问题,没有一个“正确”答案,所以对象只是保存了键,而没有为它们指定任何顺序,这就导致不同的浏览器以不同的顺序来输出键。因此,不要编写依赖于对象的键的准确顺序的程序。
用点符号添加键
当添加新的键的时候,也可以使用点符号。还以之前的示例为例,还是从一个空的对象开始,然后为它添加键,但是这次我们将使用点符号:
var cat = {};
cat.legs = 3;
cat.name = "Harmony";
cat.color = "Tortoiseshell";
如果查看JavaScript所不知道的属性,它会返回一个特定的值undefined。Undefined只是表示“这里什么都没有”。例如:
var dog = {
name: "Pancake",
legs: 4,
isAwesome: true
};
dog.isBrown;
undefined
这里为dog定义了3个属性:name、legs和isAwesome。没有定义isBrown,所以dog.isBrown返回了udefined。
本站内容未经许可,禁止任何网站及个人进行转载。