章節連結
JavaScript 在讀取你寫的程式碼時,其編譯器會先讀取整個文件內的所有變數和函式名稱,並在記憶體上保留其位置,這個動作被稱為 Hoisting。
課程對應章節
Course 1 ~ Course 10 (全部一共有 85 Courses)
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。課程連結網址:http://tinyurl.com/w7vrql6
內容
1. 變數的命名所在位置會關係到你的數值能否正常的被解讀,這是初學者很常忽略的一點。
2. Global Object (沒有在函式裡的) 和 “this” 在一開始執行 JavaScript 程式時,就會自動建立。
3. 關於 Hoisting 的例子。由於 JavaScript 具有這個 Hoisting 的屬性,所以任何的變數在一開始都預設為 undefined 後,編譯器才去執行文件內的內容。換言之,為了避免莫名出現 undefnined,請還是依照人類邏輯逐條的寫下來吧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// Hoisting 的例子 - 1 b() // "hello world!" console.log(a) // 'undefined' let a = 'text' function Hi(){ console.log('hello world!') } // Hoisting 的例子 - 2 b() // "hello world!" console.log(a) // 'reference error!!' function Hi(){ console.log('hello world!') } |