JS無法直接被電腦運行,需透過解譯
LHS錯誤會直接顯示出來
JS執行時遇到錯誤沒有除錯,程式碼會停止運行不會在往下跑
LHS錯誤: .click()屬於執行涵式,無法在被賦予值
⇒修正
JS屬於靜態作用域
靜態作用域 : 變數的作用域在語法解析時,就已經確定作用域,且不會再改變。
涵式定義時就已經決定結果不會受到其他影響(sayHi值以為老爸 不再受影響)
動態作用域 : 變數的作用域在涵式調用時才決定。
作用域需要變數時,function內找不到,會直接向外查找,如果都找不到時會顯示ReferenceError...
在window開啟時會產生全域的執行環境,但this會隨著執行環境有所不同
宣告涵式在還沒運行時,並不會產生執行環境