iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
1
自我挑戰組

重新開始的Vue.js 30day系列 第 3

從頭開始的Javascript 入門 -流程控制 Day2

  • 分享至 

  • twitterImage
  •  

從頭開始的Javascript 入門 -流程控制 Day2

白話解釋就是如果這樣 就會那樣

if...else 條件判斷

var age = 20;

if (age >= 18) {
    console.log('已成年');
   }else {
    console.log('未成年');
  }

上面所寫就是一個流程控制;
if (age >= 18) 如果條件判斷為true ,執行第一組大括弧裡面的條件敘述 console.log('已成年')
反之
執行第二組大括弧的條件敘述 console.log('未成年')

執行決策 會包含兩個元件:
1.對運算事進行評估,並回傳一個結果值。
2.條件敘述需描述在該情況下應該執行的工作

更多的述句 如果這樣 不然那樣 不然這樣

 var age = 20;
if (age >= 18) {
 console.log('已成年');
} else if ((age >= 12) && (age < 18)) {
 console.log('青少年');
} else {
 console.log('⼩朋友');
}

還有一種三元運算子

var age = 20;
var result = (age >= 18) ? true : false;
console.log(result);

如果 (age >= 18) 成立就會 進行? '成年⼈' 不然就是: '未成年'
等同於:

if(age >= 18){
    result =true;
  }else{
    result =false;
  }

switch 條件判斷

switch(level){
 case 'one':
  title ='level 1';
  break;
  
  case 'two':
  title ='level 2';
  break;
  
  case 'three':
  title ='level 3';
  break;
  
  default:
  title ='test';
  break;
}

條件是判斷是放在一個大括弧,其中冒號可將案例條件與該案例對應程式碼分隔

每隔案例最後以break 關鍵字結束
就表示 條件判斷句已結束 繼續進行後續程式碼。

if...else

  • 不一定要提供else 選項 ,可以只使用if條件判斷句
  • 在一連串if條件判斷句中,即使已找到符合條件,解譯器還是會檢視全部條件(執行效率較switch 差)

switch

  • 如果條件都不對,就會執行預設選項。
  • 如果有符合案例條件,便會執行對應區塊;break 會停止執行 其他指令
    效能較多個if 條件判斷好

關於 Boolean 值...

0 / undefined / null / 空字串 / NaN
以上邏輯判斷都會判斷為false

練習

使用 prompt() 讓使用者輸入西元年份(例如 2014),計算輸入的年份
是否為潤年。
公式:年份可以被 4 整除而不可被 100 整除,但又可以被 400 整

var year = prompt("請輸入年分")
console.log("year="+year)
if(year%4===0 && year%100!===0 || year%100 ===0)
{
console.log(year+"潤年");

}else{
console.log(year+"不是潤年");
}

以上練習包含邏輯運算式

比較運算子

== != === !==
等於 不等於 嚴格等於 嚴格不等於

三個等號 === 會比較資料型別跟值均相等
== 和 ===差異性 上一篇都有講,所以就不重複了

> < >= <=
大於 小於 大於等於 小於等於

邏輯運算子

&& ||
AND 邏輯運算子 OR 邏輯運算子 Not 邏輯運算子
((2<5)&& (3>=2)) true ((2<5)&& (2<1)) false !(2<1) true

|| 可以測試至少一個條件,只要憑一邊運算式評估為true就為true,
如果兩邊都評估為false那此運算式就為false

! 此運算子會反轉運算式的狀態。如果是false(前面沒有!)
它將會是true。如果敘述句為true 它就會是false

! true 為 false
!false 為 true

捷徑計算

邏輯運算子是由左至右執行評估。 如果第一個條件可以提估足夠資訊,
那麼就不需要再評估第二個條件

false && anything 評估第一個條件為false

那其他已不可能都為true 結果值一定為false

true || anything 評估第一個條件為true
已知至少有一個值為true 故運算式結果值為true


上一篇
從頭開始的Javascript 入門 -變數與資料型別 Day1
下一篇
從頭開始的Javascript 入門 -函式 day3
系列文
重新開始的Vue.js 30day21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言