for循环写法进阶
2017-09-23 01:14
120 查看
1、常用写法:
for(var i=0;i<arr.length;i++){
console.log(i);
console.log(arr[i]);
}
每次都需要读取一次arr.length,进行判断
2、for(var i=0,len=arr.length;i<len;i++){
console.log(i);
console.log(arr[i]);
}
变量定义完整,不用再从数组中取回长度,直接让计算机判断i与length
3、for(var i=0,val;val=arr[i++];){
console.log(i);
console.log(val);
}
判断与赋值放在一起,边循环边赋值;
再看一个for(var i=10;i--;){console.log(i);}
粗看一开始会以为是错误的,因为语句没有完整,不过循环会是10次,为什么?
因为条件句第二句i<10;返回的是true;而在js中0,null,undefined,false和空字符串都会是false值
所以,在i变为0的时候自动转换为布尔值false,从而进行循环结束终止;
这个理解了那再回头看上面第三种写法,
for(var i = 0;i<arr.length;i++){
var val = arr[i];
}
i = 0与var同时放在初始条件,val = arr[i++]判断,如果arr[i++]>了arr.length,则val就是未定义,判断为undefined,判断终止,循环结束;
故,循环中可以通过简写利用0,null,undefined,false和空字符串等进行判断,学会编程思维。
for(var i=0;i<arr.length;i++){
console.log(i);
console.log(arr[i]);
}
每次都需要读取一次arr.length,进行判断
2、for(var i=0,len=arr.length;i<len;i++){
console.log(i);
console.log(arr[i]);
}
变量定义完整,不用再从数组中取回长度,直接让计算机判断i与length
3、for(var i=0,val;val=arr[i++];){
console.log(i);
console.log(val);
}
判断与赋值放在一起,边循环边赋值;
再看一个for(var i=10;i--;){console.log(i);}
粗看一开始会以为是错误的,因为语句没有完整,不过循环会是10次,为什么?
因为条件句第二句i<10;返回的是true;而在js中0,null,undefined,false和空字符串都会是false值
所以,在i变为0的时候自动转换为布尔值false,从而进行循环结束终止;
这个理解了那再回头看上面第三种写法,
for(var i = 0;i<arr.length;i++){
var val = arr[i];
}
i = 0与var同时放在初始条件,val = arr[i++]判断,如果arr[i++]>了arr.length,则val就是未定义,判断为undefined,判断终止,循环结束;
故,循环中可以通过简写利用0,null,undefined,false和空字符串等进行判断,学会编程思维。
相关文章推荐
- Linux Shell for循环写法总结
- for循环的几种写法(变化)
- for循环两个略骚的写法
- shell for 循环写法总结
- JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法
- for循环中有多个限制结束条件的正确写法
- java for循环的几种写法
- for 循环新的写法==列表解析
- java for循环的几种写法
- JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法
- java for循环的几种写法
- Java for循环的几种写法
- java 1.5中for循环的新写法
- for循环写法带来的效率差异
- for循环的写法
- c语音中for循环使用两个判断条件的写法
- jqurey $.each与for跳出循环写法
- java 1.5中for循环的新写法
- JDK 1.5 for 循环的新写法
- 从1加/乘到N求和,不用for循环的写法