理解for循环,到底循环了什么?

来源:互联网 发布:淘宝情趣内衣买家秀图 编辑:程序博客网 时间:2024/06/05 03:26
var arr = new Array();  
arr[0] = "你";  
arr[1] = "是";  
arr[2] = "s";  
arr[3] = "b";

for (i=0;i<arr.length;i++)
{
document.write(arr[i] + "------"+i+"---<br />")
}
//你------0---
//是------1---
//s------2---
//b------3---
i里面一直在变,一次,两次...i次。

for (var i in arr) {
// alert(i);//每次弹出0,1,2,而不是变量的内容;
document.write(arr[i] + "------"+i+"---<br />");
console.log(arr);//控制台中是
["你", "是", "s", "b"]
["你", "是", "s", "b"]
["你", "是", "s", "b"]
["你", "是", "s", "b"](arr输出的是arr对象遍历了四次属性)
}
将数组当成对象去遍历,for...in 循环中的代码每执行一次,就会对数组的所有!!元素进行一次操作,故而打印arr四次,
console.log(arr[i]);则是打印每一个属性的值;
结果://你
//是
//s
//b
tips:1,在for循环中变量都是全局的。不像java,在函数内声明的变量,在函数外不能直接访问,js都是全局的;
2,for(var x in arr)中变量i是循环数组的索引数;
(在对象中,循环次数是属性的个数即在此arr中的length或者索引值+1;
原创粉丝点击