回圈指的是「重复做某件事,次数随着数值『递增」或『递减』,当数值满足所设的条件,则退出回圈」。
所以当我们要「重复做某件事」的时候,第一个进入脑海中的方法应该就是回圈。例如console.log(1)到(9)、求某数值范围的平方或是九九乘法表之类的。
最常见的回圈有 for 与 while 两种。
for回圈的语法如下:
for(var i = 0; i < n; i++ ){
/执行某件事
}
var i = 0; 是在设定初始值,变数i的有效范围与for回圈相同。
i < n; 则是在为for回圈设定条件,变数i的有效范围跟for回圈的有效范围是相同的,一旦变数i满足这个条件,回圈就会结束。如果还为满足就去执行{}内的程序叙述。
i++; 则在回圈跑完一次时递增,直到回圈结束。
让我们来试试看99乘法表该如何利用回圈来执行:
for (var = 1; i <= 9; i++) {
for (var j = 1; j <= 9; j++){
console.log( i * j);
}
}
while回圈通常长成这个样子:
var i = 0;
while (i < 10){
/执行某个程序叙述
i++;
}
var i = 0; 设定初始值。
(i < 10) 这定回圈执行的条件。
i++;在{}的结尾处让变数递增或递减,直到变数i满足所设条件,结束回圈。
让我们试着用while回圈来印出1~9的平方:
var i = 1;
while (i <= 9) {
console.log(i * i);
i++;
}
while回圈最常见的疏忽就是忘了在结尾设定变数递增(i++),结果造成条件一直无法满足,於是无穷回圈的一直执行下去。
那何时该用for回圈?何时该用while回圈呢?
在《0陷阱!0误解!8天重新认识JavaS》一书中有提到:
「
」
让我们利用for回圈来选出大乐透的号码,有1到49个号码,要选出6个不重复号码:
var lottery = [];
var n;
for (var i = 0; i < 6; i++){
n = Math.floor(Math.random() * 49) + 1;
if ( lottery.indexOf(n) === -1){
lottery.push(n);
}
}
49个号码选出6个,执行次数6次,如果使用for回圈,看起来就一目了然,是适合用for回圈来执行的情境。
<<: Day11:[资料结构]Binary Tree - 二元树
>>: Day 11 「我以火力掩护你」在测试的保护下重构:消除重复
铁人30天心得 前言 k8s真的好硬rrrrr,写了30天,感觉才不到k8s 1%的内容,加上k8s...
各种商务情境都在思考如何融入 AI 提供更适切的智慧化服务,在Day 04 : 以资料为中心的人工智...
前言 今天要来讲说 Helm 这个工具 因为 Helm 版本会不断推陈出新, 因此在今天的内容着重再...
昨天在controller有做了一个post的登入api, 不过也就只是验证你传入的帐密有没有正确而...
比较与逻辑运算子 比较运算子 用於判断比较运算子前後的结果回传逻辑值。 运算子如下 > 大於 ...