迴圈
For loop
for ( 某變數 = 初始值 ; 某變數 < 限制值 ; 某變數 + 遞增(減)值 ) {
要執行的程式碼
}
while loop
while ( 判斷式 ){
console.log( i );
}
do while
比起一般的 while loop判斷,第一次一定會執行
var i = 3;
do {
i -= 3;
console.log(i);
} while (i > 10);
// output 0
簡單來說 For loop是以一個區間做為執行的基準點,而 while loop 則是依據某個的判斷
continue and break statements
continue -> 略過一次,但繼續執行迴圈
for (var i = 1 ; i < 5 ; i++ ) {
if (i == 3) continue;
console.log(i)
}
// 1
// 2
// 4
break -> 離開迴圈
for (var i = 1 ; i < 5 ; i++ ) {
if (i == 3) break;
console.log(i)
}
// 1
// 2
迭代(Iteration)
最後來談談迭代(Iteration),不知道是不是很多人跟我一樣常常聽到,但其實不知道它的定義是甚麼
這邊先分成以下幾個 迴圈、遞迴、遍歷、迭代
迴圈(loop) -> 基礎概念,也就是重複
遞迴(recursion) -> 函數的定義中使用函數自身的方法
function recursion_test(n) {
if (n == 0) {
return 1;
}
return recursion(n - 1);
}
迭代(iterate) -> 重複實作,每次得到的結果被用來作為下一次迭代的初始值
function iterate_test(n) {
var total = 0;
for (var i = 1 ; i < n ; i++ ){
sum = sum * i
{
return sum
}
遍歷(traversal) -> 較複雜,大多會以樹的概念解釋,指沿着某條搜索路線,依次對樹中每個結點均做一次且僅做一次訪問
課程 : https://www.udemy.com/course/the-complete-javascript-course/
來源 :
https://ithelp.ithome.com.tw/articles/10191453
https://www.wibibi.com/info.php?tid=182
https://nbis.pixnet.net/blog/post/58238148
https://www.itread01.com/content/1545650488.html
https://www.jstips.co/zh_tw/javascript/recursion-iteration-and-tail-calls-in-js/
https://emn178.pixnet.net/blog/post/89039431