JAVASCRIPT 中 FOR (VAR I IN DATA) 循环数组项
Posted coder经济
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVASCRIPT 中 FOR (VAR I IN DATA) 循环数组项相关的知识,希望对你有一定的参考价值。
今天在改代码的时候发现有很多代码的循环是用 for(var i in data)写的,我通常都是用for(var i=0;i<data.length;i++)
就查看了一下,原来这两个是有区别的,不能等同使用。
<script>
//
这是for in
es6里面是for of
es6里面是for of
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++) 的简写。
以上是关于JAVASCRIPT 中 FOR (VAR I IN DATA) 循环数组项的主要内容,如果未能解决你的问题,请参考以下文章