您的位置:首页 > 其它

for循环与for...in循环的区别

2017-09-15 11:41 316 查看
for循环我们通常用来循环一个数组、字符串

var array = [1,2,3,4,5,6];
var sum = 0;
for (var i=0; i<array.length; i++){
sum+=array[i];
}
alert(sum);


for…in循环呢,我们通常用来循环一个对象,

var stu = {
{name:"张三",
sex:"男",
age:13},
{name:"李四",
sex:"女",
age:18},
{name:"王五",
sex:"男",
age:10}
};

for(var i in stu){
document.write(stu[i].name);
document.write(stu[i].age);
}


往细节了说他们的区别,这里通过代码验证一下

for in 遍历的不是数组,而是array对象,它遍历访问的每个值其实是array的每个属性,而不是数组元素,比如:

var array = [1,2,3,4,5,6];
array[10] = 10;
for (var j in array){
alert(typeof j);
break;
}


输入j,j的值为String

同样的代码再来一遍

var array = [1,2,3,4,5,6];
for (var i=0; i<array.length; i++){
alert(typeof  i);
break;
}


输入i,i的值为Number

所以for in 和for 是有区别的。

并且,使用for in 的效率要远低于for循环
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: