迴圈提供一個快速又簡潔的方法來重複地做某件事,各式各樣的迴圈機制提供了不同的方法來定義該迴圈的起始與結束
常見的迴圈有 for, do while, while 等等
若把return
關鍵字放到 loop 內部,則循環會馬上停止
function findFirstPositive(numbers) {
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] > 0) {
return numbers[i]; // 一旦找到正數,立即返回
}
}
return "No positive numbers found."; // 如果沒有正數,返回這個訊息
}
let numbersArray = [-1, -2, 3, -4, 5];
let result = findFirstPositive(numbersArray);
console.log(result); // -> 3,找到了第一個正數,立即返回
如果已知要做某事幾次,可以使用 for loop
for (initialization; condition; final expression){
statement
}
for (let i = 0; i < 11; i++) {
console.log(i);
}
console.log("for loop 執行完畢");
// i = 0, i < 11 is true, print 0 and i 值更新成 1
// i = 1, i < 11 is true, print 1 and i 值更新成 2
// ...
// i = 10, i < 11 is true, print 10 and i 值更新成 11
// i = 11, i < 11 is false, print for loop 執行完畢
// 總共是執行11次
再舉一個例子
for (let i = 0; i < 5; i++) {
console.log("這是第 " + (i + 1) + " 次迴圈");
}
// 這是第 1 次迴圈
// 這是第 2 次迴圈
// 這是第 3 次迴圈
// 這是第 4 次迴圈
// 這是第 5 次迴圈
不知道loop要執行幾次
創建一個循環,執行語句之前評估條件,只要測試條件評估為真,該循環就會執行指定的語句
while (condition){ // -> condition是boolean值
statement
}
let k = 5;
while (k > 0) {
console.log("Countdown: " + k);
k--;
}
// Countdown: 5
// Countdown: 4
// Countdown: 3
// Countdown: 2
// Countdown: 1
再舉一個例子
let num = 1;
while (num <= 10) {
console.log(num);
num += 2;
}
// 1
// 3
// 5
// 7
// 9
!!忘記增加計數器而導致while loop無限循環,則有可能癱瘓電腦CPU
這樣會造成無限迴圈
while (true) {
console.log("這個程式碼正在被執行...");
}
有i++後,就能正常執行
// 宣告一個計數器
let i = 0;
while (i < 10) {
console.log(i);
i++;
}
創建一個循環,該循環先執行指定的statement,再評估,直到測試條件為假
do {
statement
}while (condition);
let i = 11;
do {
console.log(i);
i++;
} while (i < 10); // -> 11
再舉一個例子
let num = 0;
do {
console.log("執行中..."); // 先執行陳述句
num++;
} while (num < 0); // 再評估條件
console.log("結束");
// 執行中...
// 結束
for
while
在語法上是可以互換的
for (let i = 0; i < 100; i++) {
console.log(i);
}
let j = 0;
while (j < 100) {
console.log(j);
j++;
}
// while在彈性上比for好
下一篇文章學習Nested loop、Break、Continue、Math Object。