【重温基础】2.流程控制和错误处理
本文是 重溫基礎(chǔ) 系列文章的第二篇,需要讓自己靜下心來,學(xué)習(xí),養(yǎng)成好習(xí)慣。
系列目錄:
- 【復(fù)習(xí)資料】ES6/ES7/ES8/ES9資料整理(個人整理)
 - 【重溫基礎(chǔ)】1.語法和數(shù)據(jù)類型
 
本章節(jié)復(fù)習(xí)的是JS中的控制流語句,讓我們能實(shí)現(xiàn)更多的交互功能。
注意一點(diǎn):在ES6之前,JS是沒有塊作用域的,如果在語句塊外部聲明的變量,如果在塊內(nèi)部聲明一個相同名稱的變量,那么程序?qū)⑷『舐暶鞯倪@個變量的值:
var a = 1; {var a = 2; } a; // 2 復(fù)制代碼但是ES6開始,用let聲明的變量是塊作用域的:
let a = 1; {let a = 2; } a; // 1 復(fù)制代碼1.條件判斷語句
用于根據(jù)指定條件返回結(jié)果,常見的是if...else和switch:
if...else語句
若條件為真,則執(zhí)行if后面的語句,若條件為假,則執(zhí)行else后面的語句:
if(condition){// do something }else{// else 為可選// do something } 復(fù)制代碼False等效值:
 在JS中下面的值常常被計算為false
- false
 - undefined
 - null
 - 0
 - NaN
 - 空字符串("")
 
注意:
 不要使用原始布爾值true和false 與 Boolean對象的真和假混淆:
2.switch語句
通過匹配表達(dá)式的值到每個case標(biāo)簽,若匹配成功則執(zhí)行相關(guān)語句:
switch ( 'leo' ){case 'pingan':// do somethingbreak; // 可選case 'leo':// do somethingbreak;default: // 都不匹配 則執(zhí)行默認(rèn)// do somethingbreak; } 復(fù)制代碼break為可選,目的用于保證在正確匹配后,能跳出程序的switch語句,并繼續(xù)執(zhí)行其他代碼,若沒有break則程序會繼續(xù)執(zhí)行下一個case語句。
3.異常處理語句
當(dāng)throw語句拋出的異常,我們可以使用try...catch捕獲并處理,這里需要先介紹兩個概念:
throw語句:
用于拋出異常,后面可以是任何表達(dá)式:
throw "error !"; throw 404; throw {msg: 'err'}; 復(fù)制代碼try...catch語句:
用于捕獲異常,try后面是程序正常時候執(zhí)行的程序,catch后面是當(dāng)前面有錯誤拋出的時候執(zhí)行,并且捕獲錯誤信息作為參數(shù),并且在catch塊執(zhí)行完成,參數(shù)不可再用。
function f(){throw 'test error!' } try{f();console.log('success'); }catch (err){ // err 為前面返回的錯誤信息console.log(err);console.log('failed'); } // test error! // failed 復(fù)制代碼通常在try...catch后還有一個finally語句塊,用于不論前面是否有報錯,都會執(zhí)行finally語句:
try{// do something }catch(err){// do something }finally{// do something } 復(fù)制代碼try...catch常常也用在做網(wǎng)絡(luò)請求的情況下:
function getData (){try{let a = fetch(url);}catch(err){console.log(err);} } 復(fù)制代碼參考資料
1.MDN 流程控制與錯誤處理
本部分內(nèi)容到這結(jié)束
| pingan8787@qq.com | |
| 博 客 | www.pingan8787.com | 
| 微 信 | pingan8787 | 
| 每日文章推薦 | github.com/pingan8787/… | 
| JS小冊 | js.pingan8787.com | 
歡迎關(guān)注我的微信公眾號【前端自習(xí)課】
總結(jié)
以上是生活随笔為你收集整理的【重温基础】2.流程控制和错误处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Linux服务器---安装bind
 - 下一篇: Confluence 6 归档一个空间