宣告變數在 JavaScript 中並不陌生,但執行環境與運行跟 function 作用域有相大的關係,下方有一個變數,
var Name = "Tim";
再了解變數運行先知道下方小知識,
JavaScipt 中有分成 LHS 跟 RHS,用英文全名來看很容易理解:
var Name;
Name = "Tim";
console.log(Name); //Tim
上方變數就是標準的 LHS,將值賦於到左邊的變數上,
但如果這樣寫,
'Tim'=1;
console
就會跳錯, Invalid left-hand side in assignment
,表示左邊不是變數所以沒辦法給予值。
LHS 在編譯的過程就已經確立。
var man = Name;
這裡就是標準的 RHS 的運作方式,變數 man
的值,取自於右邊的 Name
的值。另一個經典的 RHS 就是函式,最常見的就是 console.log(value);
這個例子。
需要注意是,RHS 是在運作時才會執行,當有錯誤提示的時候,務必要修正,不然後面的程式碼就不會運行。
基本認識 LHS 跟 RHS,對於 debug 是很有幫助的。