for 回圈,很适合用来处理数值会依照次数,有「递增」或「递减」的变化
范例如下
var i;
for(i=0;i<=10;i++){
console.log(n);
}
会印出
// 0
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10
语法如下
for(初始值;条件;结束时变动){ //做某事 }
for(var i=0;i<=10;i++){ // 做某事 }
for 後面的小括弧要输入三种资料,分别是初始值、条件、结束时变动
初始值:用来初始化for 回圈中的计数器
条件:指的是当满足这个条件(结果为true),就会进入大括号执行里面的程序码
结束时变动:就是每次执行完大括号里面的程序码就会执行这里面的程序码
要一次了解要输入的三种资料有点困难,可以先从条件来了解
假设我要写一个1到10的回圈,使用 while 可以这样写
//while(判断){
// 要执行程序码
//}
var n=1;
while(n<=10){
console.log(n);
n++;
}
如果使用 for 回圈改写
var n=1;
for(;n<=10;){
console.log(n);
n++;
}
我将 while
改写成 for
小括弧我将 (n<=10)
改写成 (;n<=10;)
条件前面的初始值和结束时变动先空着(不过前後要记得打分号),一样可以印出 1 到 10
我们可以知道for回圈中的条件就等於while回圈的判断,只要满足条件,就会进入大括号执行里面的的程序码。
我们可以再进一步的再改一下
for(var n=1;n<=10;n++){
console.log(n);
}
初始值放进 var n=1
结束时变动放进 n++
这样就跟常见的 for 回圈语法是一样的
平常还是建议将初始值、结束时变动写在小括弧里面,比较方便阅读。
for 回圈和 while 回圈好像都是在做一样的事情。不过,不同的工程师在不同的状况,会使用不同的回圈语法,所以为了增加我们阅读别人程序码的速度,所以我们还是要尽量熟悉这两种语法。
学了 while回圈与 for回圈
假设我们想跳过其中几次回圈,或者提早离开回圈,有什麽方式呢?
我们可以使用 break
与 continue
break
会直接跳离回圈continue
会跳过一回圈,继续执行下一次我想印出1到10,不过如果遇到 5 的话就不印出来离开回圈,不再继续
可以使用 break
搭配if
这样写
for(var i=1;i<=10;i++){
if(i==5){ // 如果 i 等於 5,就跳出
break;
}
console.log(i);
}
就会印出1、2、3、4
那麽如果是,我想印出1到10,不过如果遇到 5 的话就不印出来,但我想继续印出接下来的数字
那我就可以使用 continue
for(var i=1;i<=10;i++){
if(i==5){ // 如果 i 等於 5,就从这里跳过一次回圈,继续执行下一轮回圈
continue;
}
console.log(i);
}
印出1、2、3、4、6、7、8、9、10
再来一个练习
假如,我想印出1到10之间的偶数
我可以这样写
for(var i=1;i<=10;i++){
if(i%2 == 1){ // 如果 i 除以 2 会余 1,就是奇数,那麽就跳过这一轮
continue;
}
// 符合条件的都是可以被 2 整除,也就是偶数。
console.log(i);
}
虽然,看到这里可能不太理解为什麽会需要做这样的筛选,不过後面稍微比较复杂的程序,就可以使用这些技巧
例如,班上有10位同学,座号1到10,准备要打篮球打算分成两个队伍,奇数座号同学加入蓝队,偶数座号同学加入红队。
当我们需要筛选奇数或偶数,就可以用这种方式。
回故一下这三十天的旅程~ Day01_老太太的前言~落落长~XD" Day02_话说从头~...
前言 JS 30 是由加拿大的全端工程师 Wes Bos 免费提供的 JavaScript 简单应用...
将影片转换成图片 - Day 11 今天要完成的工作是将搜集到的影片或是照片转换成 YOLOV3 可...
这题真的需要花一点功夫,题目并不难懂,但是不能用直观的方式去写,可以上网搜寻关键字「find cyc...
在我完成人脸关键点与人脸对齐的学习後,觉得眼睛有点累想要休息 -- 这时一个应用就出来了! 我们每...