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

JavaScript016

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

js的for循环有俩种一种是用来遍历数组for(xxx xxx xxx){}二种是用来遍历jsonfor(xxx in xxx){}第一种,括号内的表达式,分三块for(初始化 比较 增量){}初始化是用来初始化一些变量,可以省略,写在外面,或者不写比较是用来计算是否允许继续循环,比如,循环到数组最后一个元素以后则不继续循环增量是用来写一个标识,用来标识循环到那里了比如一个简单的例子var arr = [1,2,3]for(var i=0i<arr.lengthi++){ 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=1i<arr.lengthi++){//这里在初始化的时候,把i变成1就会跳过第一个元素,从第二个开始循环//因为数组的序号是从0计数的 alert(arr[i])}

运算符优先级问题而已

++的优先级比=的赋值高,所以先执行++再赋值

i++的意思是先拿i的值去做别的,然后他再自增1

就是i的结果会先拿出来,再自增1,但拿去赋值的还是1

假设i=0,那么执行i+++i++的结果是1,i自身的值为2,第一个i++的0取出来再自增1,再去执行第二个i++,此时i为1,把1取出来再自增1,变为2,而计算结果为0+1=1

!==:检查两个操作数的值在没进行数据转换前是否不一样。

比如

return 2!=="2"值为true

而2!="2"值为false 因为js支持自动类型转换