1
A
回答
1
想想JavaScript数组作为一个正常的对象名为length
一个特殊属性的(实际上,它更复杂一点)。所以for..in循环的行为是作为其他对象相同:
var a = new Array();
a[1] = "a";
alert(a.length); // 2
alert(a[0]); // undefined
a[1000] = "b"
alert(a.length); // 1001
a[-1] = "c";
alert(a[-1]); // c
a.abc="why not";
for(var key in a)
{
alert(key+"="+a[key]);
}
// 1=a
// 1000=b
// -1=c
// abc=why not
还要注意的是,你可以有你的阵列中的差距,而不必支付内存价格。
10
这是设计。当你知道密钥的时候,在数组中获得一个值是很简单的,但是如果给定一个值的话,获得密钥要困难得多。值可以重复,那么你怎么知道应该使用哪个键?但是一把钥匙的独特之处在于,只有一个钥匙才能获得。所以,for循环将迭代关键字,并且获取关联值很简单。
0
有一个for each...in循环,完全是 - 只枚举值。即将推出到您附近的浏览器。
for each(var a in Values) {
..
}
对于阵列来说,有一个新功能forEach可以达到同样的效果。
someArray.forEach(function(value) {
..
});
相关问题
- 1. JavaScript的for循环有关的问题
- 2. Javascript jquery for循环问题
- 3. JavaScript的for循环的问题,我有
- 4. for循环问题
- 5. JavaScript(jQuery)的for循环问题
- 6. for循环for循环? - Javascript
- 7. $ getJSON和for循环问题
- 8. 关于for循环(模板循环)
- 9. For循环的问题
- 10. bash的for循环问题
- 11. for循环的问题
- 12. 关于fortran在for循环中继续声明的问题
- 13. For循环条件问题
- 14. C#} For循环问题
- 15. 初级for循环问题
- 16. C++ For循环问题
- 17. For循环在Javascript中的for循环
- 18. Bash,for循环问题
- 19. 嵌套for循环问题
- 20. 嵌套while循环for R for循环的问题
- 21. 关于嵌套循环的问题
- 22. 关于循环插件的问题
- 23. 关于循环的问题并继续
- 24. indexerror for循环问题
- 25. JS for循环问题
- 26. for循环问题,Objective-C
- 27. 问题for循环在smalltalk
- 28. C#ASP.NET for循环问题
- 29. xquery for循环问题
- 30. 嫩枝For循环 - 问题
对于op:如果对象是数组,则“Keys”可与索引(0..n)互换。 – 2010-09-02 02:23:14
@Daniel:排序。如果向数组或属性Array.prototype添加属性,它们也将包含在循环中。 – 2010-09-02 03:22:57
谢谢马修,现在我明白了设计。 – 2010-09-02 03:39:47