码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 中 for (var i in data) 循环数组项

时间:2016-05-05 17:22:38      阅读:2510      评论:0      收藏:0      [点我收藏+]

标签:

今天在改代码的时候发现有很多代码的循环是用 for(var i in data)写的,我通常都是用for(var i=0;i<data.length;i++)

就查看了一下,原来这两个是有区别的,不能等同使用。

<script>
Array.prototype.test = function () { };

function a (){
var arr = [1, 2];
for (var i in arr)
{
alert(i+"-------------"+arr[i]);
}
}
function b(){
var arr = [1, 2];
for(var i =0;i<arr.length;i++){
alert(i+"---------"+arr[i]);
}
}
a();
b();
</script>

我们看到a()会弹出三个对话框,分别是索引值:0、1还多了一个 test, 这个 test 是 Array.prototype.test 扩展得到的。

所以不能把 for (var i in data)  当作是 for (var i = 0; i < data.length; i++) 的简写。

 

 

参考:http://www.cftea.com/c/2014/08/6290.asp

JavaScript 中 for (var i in data) 循环数组项

标签:

原文地址:http://www.cnblogs.com/jinling/p/5462338.html

(0)
(3)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!