iT邦幫忙

2021 iThome 鐵人賽

DAY 2
1
自我挑戰組

JavaScript 核心觀念系列 第 2

【Day02】錯誤範例的 RHS 和 LHS

  • 分享至 

  • xImage
  •  

Day01 的文章中有提到,

JavaScript 會先經過語法解析後,產生結構樹,代碼生成後才會運行

但在某些情況下,這些流程會產生錯誤

範例:

字串少寫一個單引號,會出現語法錯誤

console.log() 少一個括號分號,會顯示結尾錯誤

了解以上所產生的錯誤後,

接下來即將開始介紹 JavaScript 常見的錯誤中,取值與賦予值的關係

何謂 RHS 和 LHS

1. RHS(Right-hand side):取值來自於右邊的變數上,即為取值

範例:

當使用函式取得值時,即為 RHS

下方範例是使用 console.log() 取得變數的值時,就能稱為 RHS,因為變數取得的值都在等號右邊

當使用變數來賦予變數值時,也使用到 RHS

下方範例是將 ming 這個變數賦予到 man 這個變數中,

會先從 ming 取值出來,再將值賦予到 man

所以整體過程為先執行 RHS,在執行 LHS

錯誤範例:

RHS 會在執行階段時發生錯誤,因此在編譯網站看不到錯誤

會出現 ReferenceError: min is not defined

該錯誤表示 min 這個變數沒有被定義,因此找不到他的值

2. LHS(Left-hand side):用來賦予值到左邊的變數上,即為賦予值

範例:

將值從等號右側賦予到等號左側時,就能稱為 LHS,

'小明' 這個值賦予到 ming 這個變數中,此過程即為 LHS

錯誤範例:

如果賦予值到字串中的話,此時在編譯的過程就會出錯,

所以當看到 LHS 的錯誤時,要注意是否等號左邊的變數無法被賦予值

當遇到這些錯誤時,應該要立即修正,

在 JavaScript 的執行過程中,如果有遇到錯誤沒有修正的話,

在錯誤後面的程式碼都不會運行

下方範例中最後一行的 1 並沒有顯示出來

今天就到此為止,明天說明 JavaScript 語法作用域的部分


上一篇
【Day01】JavaScript 是如何運行的
下一篇
【Day03】語法作用域(Lexical scope)
系列文
JavaScript 核心觀念30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言