昨天介紹了if..else與switch的條件流程判斷,今天開頭先讓我們來補充一下三元運算子,再來介紹迴圈吧!
三元運算子,又稱「條件運算子」。我們直接來看看它長什麼樣子吧!
(條件)? [數值/運算式(1)]:[數值/運算式(2)];
如果條件為true,此時回傳[數值/運算式(1)];條件為false,則回傳[數值/運算式(2)]。
前篇我們用if..else做判斷會這樣寫:
if(a < 60){
status = "不及格";
}else{
status = "及格";
}
使用三元運算子,可以改寫成:
var status = (a < 60) ? "不及格" : "及格";
如果你也是新手的話對「迴圈」應該蠻頭疼的。迴圈你可以想像「是用來重複做某件事」。例如,我想要印出5次1,不使用迴圈:
console.log(1);
console.log(1);
console.log(1);
console.log(1);
console.log(1);
這樣寫很多遍同樣的東西看起來有點多餘,那我們來看看怎麼使用迴圈。
我們直接使用while 迴圈來寫上面那個範例會變成這樣子:
var i = 0;
//初始值
while (i < 5){ //(i < 5)是條件
console.log(1);
i++; // 每一次結束時變動
}
在開始迴圈時,我們會先給一個初始值作為基準,給予條件做判斷,如果滿足條件(為true)的時候會進入大括號{}區塊,執行裡面的程式。
接下來,如果想印出1-5,我們可以改成這樣子:
var i = 1;
//初始值
while (i <= 5){ //(i <= 5)是條件
console.log(i);
i++; // 每一次結束時變動
}
我們來使用for迴圈改寫上面的要印出1-5範例:
var i ;
for (i = 0; i < 5; i++){
console.log(i);
}
可以發現跟while迴圈,有點不一樣的是,for 迴圈將「初始值」與「每一次結束的變動」都寫在小括號內。
最左邊i=0是初始值,中間的部分是「執行迴圈的條件」,最右邊是「結束時的變動」,但是在每一次執行完大括號{}的程式,才會執行。當執行完後,會再跳到中間的條件做判斷,如果符合則繼續執行迴圈,否則跳出迴圈區塊。
最後,要特別注意!每一次結束的變動很重要。換句話說,要滿足結束條件。除此之外,也要注意條件的設定,不然會進入「無窮迴圈」,無窮迴圈範例:
var i ;
for(i = 0; i >= 0; i++){
console.log(i);
}
var i = 1;
while (i <= 10){
console.log(i);
}
//條件一直都成立,無法跳出迴圈
最後來補充一下break 與 continue 。
假設我們想要印出1~10之間不是2的倍數:
var i;
for(i = 1; i <=10; i++){
if(i % 2 === 0){
continue;
}
console.log(i);// 1,3,5,7,9
}
如果把continue 改成break:
var i;
for(i = 1; i <=10; i++){
if(i % 2 === 0){
break;
}
console.log(i);// 1
}
就只會印出1 ,因為第二次迴圈i 是2的時候就符合裡面if的條件然後執行break,直接跳離迴圈。
以上就是基本的迴圈介紹。那我們明天再見啦! 新手學習JavaScript: Day09 - 三元運算子與迴圈
昨天介紹了if..else與switch的條件流程判斷,今天開頭先讓我們來補充一下三元運算子,再來介紹迴圈吧!
三元運算子,又稱「條件運算子」。我們直接來看看它長什麼樣子吧!
(條件)? [數值/運算式(1)]:[數值/運算式(2)];
如果條件為true,此時回傳[數值/運算式(1)];條件為false,則回傳[數值/運算式(2)]。
前篇我們用if..else做判斷會這樣寫:
if(a < 60){
status = "不及格";
}else{
status = "及格";
}
使用三元運算子,可以改寫成:
var status = (a < 60) ? "不及格" : "及格";
如果你也是新手的話對「迴圈」應該蠻頭疼的。迴圈你可以想像「是用來重複做某件事」。例如,我想要印出5次1,不使用迴圈:
console.log(1);
console.log(1);
console.log(1);
console.log(1);
console.log(1);
這樣寫很多遍同樣的東西看起來有點多餘,那我們來看看怎麼使用迴圈。
我們直接使用while 迴圈來寫上面那個範例會變成這樣子:
var i = 0;
//初始值
while (i < 5){ //(i < 5)是條件
console.log(1);
i++; // 每一次結束時變動
}
在開始迴圈時,我們會先給一個初始值作為基準,給予條件做判斷,如果滿足條件(為true)的時候會進入大括號{}區塊,執行裡面的程式。
接下來,如果想印出1-5,我們可以改成這樣子:
var i = 1;
//初始值
while (i <= 5){ //(i <= 5)是條件
console.log(i);
i++; // 每一次結束時變動
}
我們來使用for迴圈改寫上面的要印出1-5範例:
var i ;
for (i = 0; i < 5; i++){
console.log(i);
}
可以發現跟while迴圈,有點不一樣的是,for 迴圈將「初始值」與「每一次結束的變動」都寫在小括號內。
最左邊i=0是初始值,中間的部分是「執行迴圈的條件」,最右邊是「結束時的變動」,但是在每一次執行完大括號{}的程式,才會執行。當執行完後,會再跳到中間的條件做判斷,如果符合則繼續執行迴圈,否則跳出迴圈區塊。
最後,要特別注意!每一次結束的變動很重要。換句話說,要滿足結束條件。除此之外,也要注意條件的設定,不然會進入「無窮迴圈」,無窮迴圈範例:
var i ;
for(i = 0; i >= 0; i++){
console.log(i);
}
var i = 1;
while (i <= 10){
console.log(i);
}
//條件一直都成立,無法跳出迴圈
最後來補充一下break 與 continue 。
假設我們想要印出1~10之間不是2的倍數:
var i;
for(i = 1; i <=10; i++){
if(i % 2 === 0){
continue;
}
console.log(i);// 1,3,5,7,9
}
如果把continue 改成break:
var i;
for(i = 1; i <=10; i++){
if(i % 2 === 0){
break;
}
console.log(i);// 1
}
就只會印出1 ,因為第二次迴圈i 是2的時候就符合裡面if的條件然後執行break,直接跳離迴圈。
以上就是基本的迴圈介紹。那我們明天再見啦!