for循环是最基本的只是,不多介绍,直接以for循环为例和 for…in对比
for…in 语法详细,见w3chttp://www.w3school.com.cn/js/js_loop_for_in.asp
for…in 语句用于对 数组 或者 对象 的 属性 进行循环操作。
*1:对于数组遍历来说俩个循环基本差不多(如下)*
在JavaScript中,不支持自定义下标的方式来储存数据,强制下标为0,1,2…
1.1for循环
var arr = ["q","w","e","r"];
for(var i = 0;i < arr.length;i++){
console.log(i + " : " + arr[i]);
}
输出 0 : q
1 : w
2 : e
3 : r
在for循环中对应数组的含义:i(0,1,2,3)就是下标,qwer就是对应的值.
1.2for…in循环
for(var k in arr){
console.log(k + " : " + arr[k]);
}
输出
0 : q
1 : w
2 : e
3 : r
就数组而言,for…in中,k(0,1,2,3)就是数组的属性(或者说下标)跟上边的i一样;
2:*在JavaScript中的对象遍历时,for循环和for…in循环有较大的差别。*
var func = {
name:"张三",
age:18,
sex:"男"
};
for(var j in func){
console.log(j + " : " + func[j]);
}
输出:
name : 张三
age : 18
sex : 男
此时,就对象而言for循环无法遍历到对象中的各项属性,for…in循环则可以,
for…in中,j(name,age,sex)为对象func的属性,func[j]就是对应的属性值(“张三”,18,”男”);