4.6.2保存电影信息

  假设你收藏了大量的DVD和蓝光电影。把所有这些电影的信息保存到计算机中,以便能够很容易地找到每一部电影,这不是很好玩吗?

  可以创建保存电影的一个对象,每个键就是一部电影的名称,每个值是另一个对象,其中包含了电影的相关信息。对象中的值本身也可以是对象。

var movies = {
"Finding Nemo": {
releaseDate: 2003,
duration: 100,
actors: ["Albert Brooks", "Ellen DeGeneres", "Alexander Gould"],
format: "DVD"
},
"Star Wars: Episode VI - Return of the Jedi": {
releaseDate: 1983,
duration: 134,
actors: ["Mark Hamill", "Harrison Ford", "Carrie Fisher"],
format: "DVD"
},
"Harry Potter and the Goblet of Fire": {
releaseDate: 2005,
duration: 157,
actors: ["Daniel Radcliffe", "Emma Watson", "Rupert Grint"],
format: "Blu-ray"
}
};

  你可能已经注意到,对于电影名称(外围对象的键),我们使用了引号,但是内部对象的键没有使用引号。这是因为电影名称需要有空格,不用引号的话,就得把每个名称输入成Star WarsEpisode VIReturnOfTheJedi的样子,这看上去太傻了!内部对象的键不需要引号,所以我们省略了引号。没有那些不必要的标点符号,代码看起来会更简洁一些。

《javascript-少儿编程》第四章对象之对象的用途

  现在,当想要查看电影的信息时,很容易就可以找到,如下所示:

var findingNemo = movies["Finding Nemo"];
findingNemo.duration;
100
findingNemo.format;
"DVD"

  这里,把Finding Nemo这部电影的信息保存到了名为findingNemo的变量中。可以查看这个对象的属性(例如duration和format)来了解这部电影。

  也可以很容易地把新的电影添加到收藏中:

var cars = {
releaseDate: 2006,
duration: 117,
actors: ["Owen Wilson", "Bonnie Hunt", "Paul Newman"],
format: "Blu-ray"
};
movies["Cars"] = cars;

  这里,创建了一个新的对象来保存Cars这部电影的相关信息。然后,将其插入到movies对象中,其键为”Cars”。

  现在,你建立了自己的收藏,你可能想要有一种简单的方法把所有的电影的名称都列出来。可以使用Object.keys,如下所示:

Object.keys(movies);
["Finding Nemo", "Star Wars: Episode VI - Return of the Jedi", "Harry
Potter and the Goblet of Fire", "Cars"]

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

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