本文是 重溫基礎 系列文章的第二篇,需要讓自己靜下心來,學習,養成好習慣。
系列目錄:
本章節複習的是JS中的控制流語句,讓我們能實現更多的互動功能。
注意一點:在ES6之前,JS是沒有塊作用域的,如果在語句塊外部宣告的變數,如果在塊內部宣告一個相同名稱的變數,那麼程式將取後宣告的這個變數的值:
var a = 1;
{
var a = 2;
}a;
// 2複製程式碼
但是ES6開始,用let
宣告的變數是塊作用域的:
let a = 1;
{
let a = 2;
}a;
// 1複製程式碼
1.條件判斷語句
用於根據指定條件返回結果,常見的是if...else
和switch
:
if…else語句
若條件為真,則執行if
後面的語句,若條件為假,則執行else
後面的語句:
if(condition){
// do something
}else{
// else 為可選 // do something
}複製程式碼
False等效值:
在JS中下面的值常常被計算為false
- false
- undefined
- null
- 0
- NaN
- 空字串(””)
注意:
不要使用原始布林值true
和false
與 Boolean物件的真和假混淆:
let a = new Boolean(false);
// Boolean
{true
}if (a);
// 永真if (a == true);
// 永假 複製程式碼
2.switch語句
通過匹配表示式的值到每個case
標籤,若匹配成功則執行相關語句:
switch ( 'leo' ){
case 'pingan': // do something break;
// 可選 case 'leo': // do something break;
default: // 都不匹配 則執行預設 // do something break;
}複製程式碼
break
為可選,目的用於保證在正確匹配後,能跳出程式的switch
語句,並繼續執行其他程式碼,若沒有break
則程式會繼續執行下一個case
語句。
3.異常處理語句
當throw
語句丟擲的異常,我們可以使用try...catch
捕獲並處理,這裡需要先介紹兩個概念:
throw語句:
用於丟擲異常,後面可以是任何表示式:
throw "error !";
throw 404;
throw {msg: 'err'
};
複製程式碼
try…catch語句:
用於捕獲異常,try
後面是程式正常時候執行的程式,catch
後面是當前面有錯誤丟擲的時候執行,並且捕獲錯誤資訊作為引數,並且在catch
塊執行完成,引數不可再用。
function f(){
throw 'test error!'
}try{
f();
console.log('success');
}catch (err){
// err 為前面返回的錯誤資訊 console.log(err);
console.log('failed');
}// test error!// failed複製程式碼
通常在try...catch
後還有一個finally
語句塊,用於不論前面是否有報錯,都會執行finally
語句:
try{
// do something
}catch(err){
// do something
}finally{
// do something
}複製程式碼
try...catch
常常也用在做網路請求的情況下:
function getData (){
try{
let a = fetch(url);
}catch(err){
console.log(err);
}
}複製程式碼
參考資料
本部分內容到這結束
Author | 王平安 |
---|---|
pingan8787@qq.com | |
博 客 | www.pingan8787.com |
微 信 | pingan8787 |
每日文章推薦 | github.com/pingan8787/… |
JS小冊 | js.pingan8787.com |