JS里面的for循环里的i代表什么?从i开始循环吗?为什么不用0?

如题所述

js的for循环有俩种
一种是用来遍历数组

for(xxx ; xxx ; xxx){}

二种是用来遍历json

for(xxx in xxx){}

第一种,括号内的表达式,分三块
for(初始化 ; 比较 ; 增量){}
初始化是用来初始化一些变量,可以省略,写在外面,或者不写
比较是用来计算是否允许继续循环,比如,循环到数组最后一个元素以后则不继续循环
增量是用来写一个标识,用来标识循环到那里了

比如一个简单的例子
var arr = [1,2,3];
for(var i=0; i<arr.length; i++){
alert(i);

}
这个例子就是初始化标识i用来标记循环序号,中间是用来比较是否可以继续循环,最后一个自增量,每次循环结束标识i就会自动++
当i的值等于arr.length的时候就会停止循环
简单的写法也可以这样

var arr = [1,2,3],i=0;//初始化都写在外面
for( ; arr[i++] ; ){//这里将增量和比较都写在arr里面,当数组为空的时候,就会自动停止循环

alert(i);

}
而初始化和自增量这里可以空着不写的

循环的时候看自己的需求,比如数组的第一个元素不循环,从第二个开始
var arr = ['a' , 1,2,3,4];//第一个不循环
for(var i=1; i<arr.length; i++){
//这里在初始化的时候,把i变成1就会跳过第一个元素,从第二个开始循环
//因为数组的序号是从0计数的

alert(arr[i]);

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-16
i只是一个变量名,你可以随意命名的,比如 j 或 k。

for(var x in arr) 和 for(var x =0;x<arr.length;x++)

前者是指的遍历arr中的所有元素,后者是从arr的第一个元素开始遍历到最后一个元素。这两句话效果基本上是一样的。
第2个回答  2013-12-16
for(var i=0;i<12;i++){}
i是变量,这里只是用于控制循环的,你也可以不写var i=0; for(;i<12;){ i++; }
第3个回答  2013-12-16
执行的次数及条件
相似回答