4.3给对象添加值

  空的对象就像一个空的数组,只是它使用的是花括号({})而不是方括号([ ]):

var object = {};

  可以像为数组添加元素一样,来为对象添加元素,但我们使用字符串而不是数字,如下所示:

var cat = {};
cat["legs"] = 3;
cat["name"] = "Harmony";
cat["color"] = "Tortoiseshell";
cat;
{ color: "Tortoiseshell", legs: 3, name: "Harmony" }

  这里,首先创建了一个名为cat的空的对象。然后,逐一添加3个键-值对。然后,输入cat;,浏览器显示出该对象的内容。然而,不同的浏览器,可能会输出不同的对象。例如,Chrome输出的cat对象如下所示:

《javascript-少儿编程》第四章对象之给对象添加值

  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。

《javascript-少儿编程》第四章对象之给对象添加值


本站内容未经许可,禁止任何网站及个人进行转载。

   口袋儿题库-青少儿编程自测题库