摘要:JavaScript系列文章-『Javascript的變數基本』
1. ------ Javascript宣告變數
宣告變數,就是所謂的定義變數,Javascript解譯器在執行程式碼之前,會先對這些已宣告的變數名建立索引表(值未建立)
這樣當程式執行中檢索變數時就非常快,以此提高程式的執行效率,這過程也被稱為『Javascript的預編譯處理』。
變數宣告的方法。
但這裡有幾個Javascript的變數陋習要注意一下。
A.變數沒有型別。
Javascript是個弱型語言,變數沒有型別,嚴格來說是變數的記憶體位址自已沒有類型,如果給變數賦予值後,又再一次賦予其它類型的值,則變數的類型又會發生變化。
B.變數可以重複宣告。
Javascript如果有相同的變數名稱,前面的都會被之後的覆蓋掉。
3. ------ Javascript變數的作用域鏈
所謂的作用域鏈為當Javscript要查詢一個變數X時,會先在第一個作用域上尋找,如果沒有則往上尋找。以此類推。
下面簡單寫個程式碼。來解釋一下。
首先Javascript會先在test1函數尋找x變數,發現沒有,往上一層test函數尋找,還是沒有,最後在最外層尋找,才找到。
下面的程式碼,在呼叫f函數時,裡面會呼叫echo函數,Javascript在echo中尋找變數 a ,尋找不到因此至外面一層尋找到變數 a 值為1。
如果將程式碼改寫為將echo函數寫在f 函數內,則執行結果為 2 。
參考資料
參考書籍