JavaScript 核心觀念(2)-執行的錯誤情境 (RHS, LHS)

哈囉大家好,我是Kris

今天要來介紹在JS裡面比較常見的錯誤

RHS、LHS跟取值以及賦予值有很大的關係

以下來分別跟大家解釋⬇️


RHS(Right-hand side)

RHS取值來自右側的變數上

像是 console.log(ming);    //ming有定義過(var ming ='小名')

紅色這行就是從右側的變數ming取值來讓console.log可以印出變數的值


console.log(min);   //min沒有定義過

錯誤訊息:ReferenceError : min is not defined.

這個錯誤訊息就是在說min是沒有定義過的變數,因此沒有辦法取到他的值,導致錯誤。


RHS不會在編譯過程中直接出現錯誤,要在執行階段才會看到錯誤

也就是網頁上按F12後看到的console才能看到這段錯誤訊息。


LHS(left-hand side)

用來賦予值到左側變數上

我們定義變數時就是LHS哦

像是var ming = '小名';

要把'小名'這個值給ming 就是LHS

所以今天左側的值沒有辦法被賦予的時候就會出現錯誤訊息啦

ex:'小明' =1;

錯誤訊息:Invalid left-hand side in assighment.

意思就是左側值無法被賦予,'小明'不是一個變數沒有辦法被賦予值。

LHS屬於編譯過程中所發生的錯誤,編譯的結果不會出現。

在開發環境就會看到錯誤訊息,網頁上看不到執行後的結果。


RHS也可以用在其他地方,並不是只有在函式取值的時候。

ex:var man = ming;

用RHS取得右側變數ming的值;
用LHS賦予值到左邊變數man;


這邊再分享一個常見的錯誤訊息
Error:Line3:Unexpected end of input.
就是在說Line3第三行結尾的部分有錯誤,可能是少了括號或是最重要的結尾分號';'


在JS遇到這些錯誤呢,一定要進行修正!!
如果沒有修正的話,後面的程式碼都不會運行,會停在有錯誤的那一行!
所以遇到這些錯誤的時候,記得要修正哦!

今天這一篇主要是可以更認識JS的錯誤訊息
在遇到的時候才不會很慌張很苦惱,很有可能只是一些小地方沒注意到,修正過來就好囉。


『把前進的動力從因為害怕失敗而咬牙硬撐的努力  
  變成 
  因為喜歡能夠完成挑戰的自己而勇敢努力』

评论

此博客中的热门博文

JavaScript 核心觀念(5)-執行環境(Execution context)與執行堆疊(Execution stack)

JavaScript 核心觀念(7)-執行環境與作用域-提升Hoisting

JavaScript 核心觀念(6)-執行環境與作用域-範圍鍊