Rumah > hujung hadapan web > tutorial js > for循环写法进阶

for循环写法进阶

一个新手
Lepaskan: 2017-09-23 10:04:11
asal
1890 orang telah melayarinya

1、常用写法:

for(var i=0;i<arr.length;i++){
console.log(i);
console.log(arr[i]);
}
Salin selepas log masuk

每次都需要读取一次arr.length,进行判断

2、

for(var i=0,len=arr.length;i<len;i++){
console.log(i);
console.log(arr[i]);
}
Salin selepas log masuk

变量定义完整,不用再从数组中取回长度,直接让计算机判断i与length

3、

for(var i=0,val;val=arr[i++];){
console.log(i);
console.log(val);
}
Salin selepas log masuk

判断与赋值放在一起,边循环边赋值;

再看一个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];
}
Salin selepas log masuk

i = 0与var同时放在初始条件,val = arr[i++]判断,如果arr[i++]>了arr.length,则val就是未定义,判断为undefined,判断终止,循环结束;

故,循环中可以通过简写利用0,null,undefined,false和空字符串等进行判断,学会编程思维。

Atas ialah kandungan terperinci for循环写法进阶. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan