iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
Modern Web

想轉職的鯊魚從零基礎開始學習JavaScript系列 第 22

想轉職的鯊魚從零基礎開始學習JavaScript Day-22 斷章 跳躍句

  • 分享至 

  • xImage
  •  

前言

先前有概略說一下Statements裡面各種述句的用途,今天讓鯊魚來詳細介紹吧。

Labelled Statements

Labelled Statements必須結合continue或是break使用。
當呼喚的Label時候,會從原本的code跳至Label的code。

  • Syntax(語法)

    LabelIdentifier:
    Statement ;

    LabelIdentifier:
    FunctionDeclaration ;

在一句Statement或是Function前面加一個LabelIdentifier:的標籤,當使用continue或是break會繼續這個迭代/迴圈或是終止這個迭代/迴圈。

LabelIdentifier標籤:任何字元、符號都可以使用,除了保留字元。

The continue Statement

終止該輪IterationStatement(迭代/迴圈),並開始下一輪IterationStatement(迭代/迴圈)

  • Syntax(語法)
    continue ;
    continue LabelIdentifier ;

通常只有兩層以上的IterationStatement(迭代/迴圈),才需要配合LabelIdentifier使用。

The break Statement

結束整個IterationStatement(迭代/迴圈)或是SwitchStatement(Switch條件句)。

  • Syntax(語法)
    break ;
    break LabelIdentifier ;

通常只有兩層以上的迭代/迴圈,才需要配合LabelIdentifier使用。

The throw Statement

錯誤,除了語法上的錯誤之外,還有使用者在特定狀況下定義的錯誤,throw Statement就是為了上面的狀況而產生的,讓使用者自行定義的錯誤(例外狀況),當執行到throw時,當前的函式會立即停止,並傳給catch,如果沒有catch時,則程式終止。

  • Syntax(語法)
    throw Expression ;

Expression為執行到throw時會傳出去的內容,通常是字串組成的一句話來表示為何出現這錯誤。

The try Statement

當執行到錯誤的時候,程式會中止,而try Statement即是為了找出錯誤而存在Statement。

  • Syntax(語法)
    try {
    tryStatements
    } catch (exceptionVar){
    catchStatements
    } finally {
    finallyStatements
    }

tryStatements:一般的述句,通常包含各種throw(拋出錯誤)的狀況。
catch:當有tryStatements有錯誤發生的時候,會用exceptionVar接收錯誤訊息,並執行catchStatements。
exceptionVar:一個參數通常用e或是error表示,來接收error訊息或是throw拋出的Expression。
catchStatements:一般的述句,當catch捕捉到錯誤時會執行,通常用來來表示,錯誤出現的原因。
finally 表示try Statement結束的語句,不論是否有發生都會執行finallyStatements。
finallyStatements:一般的述句。

然而catch跟finally在try的語法上不是雖然必須的,但是至少要有一個。

The return Statement

當fuction函式執行到return時fuction函式就會中止,並回傳Expression出去。

  • Syntax(語法)
    return ;
    return Expression ;

Expression:表示要回傳的值,如果省略則會回傳undefined

結語

鐵人賽也不知不覺過了2/3了,感覺鯊魚還有好多東西可以說,慢慢來吧,希望最後能回到DOM的部分,來試試如何用JavaScript來操作網頁,希望時間來得及,不過就就算鐵人賽結束了,鯊魚想學習的心是不會結束的。

鯊語錄

參考資料

ECMA-262
MDN-label
MDN-throw
MDN-continue
MDN-break
MDN-try...catch
MDN-return
JavaScript大全-第六版


上一篇
想轉職的鯊魚從零基礎開始學習JavaScript Day-21 The if / switch Statement(條件句) 與 Iteration Statements(迭代/迴圈)
下一篇
2022 iThome 鐵人賽 Day-23 命名規則-寫程式不僅是你一個人的戰場
系列文
想轉職的鯊魚從零基礎開始學習JavaScript31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言