javascript中这两种声明类型有什么区别

时间:2014-05-16 04:03:55

标签: javascript underscore.js

var collection={one: 1, two: 2, three: 3};

因为:当我使用underscore.js

循环时

它给了我关键以及这样的价值:

one
1
two
2
three
3

var collection=[{name:"gaurav"},{name:"ankit"},{name:"amit"}];

因为:当我使用underscore.js

循环时

它给我索引以及这样的值:

gaurav
0
ankit
1
amit
2

上述两项声明是否有任何区别。

1 个答案:

答案 0 :(得分:1)

在第一种情况下,您已经声明了一个对象 - 当您遍历此对象时,下划线会为您提供在其中找到的每个键值对。

在第二种情况下,您已声明数组(请注意方括号)。通过它迭代可以得到数组中每个条目的索引和值。

由于数组和对象的结构分别以索引值和键值为特征,因此迭代可以获得您看到的结果 - 它会显示内容"内部"每种数据类型。