參考:
1.我們js引擎執行js 分為兩步: 預解析 **執行
// (1). 預解析 js引擎會把js 裡面所有的 var 還有 function 提公升到當前作用域的最前面
// (2). **執行 按照**書寫的順序從上往下執行
2.預解析分為 變數預解析(變數提公升) 和 函式預解析(函式提公升)
// (1) 變數提公升 就是把所有的變數宣告提公升到當前的作用域最前面 不提公升賦值操作
// (2) 函式提公升 就是把所有的函式宣告提公升到當前作用域的最前面 不呼叫函式
// 1問
console.
log(num)
;// 2問
console.
log(num)
;// undefined 坑 1
var num =10;
// 相當於執行了以下**
// var num;
// console.log(num);
// num = 10;
// 3問
functionfn(
)fn()
;// 4問
fun();
// 報錯 坑2
varfun
=function()
// 函式表示式 呼叫必須寫在函式表示式的下面
// 相當於執行了以下**
// var fun;
// fun();
// fun = function()
js基礎 預解析
預解析 1.js引擎執行js分為兩步 預解析和 執行 1 預解析 js引擎會把js裡面所有的var 還有function 提公升到當前作用域的最前面 2 執行 按照 書寫的順序從上往下執行 2.預解析分為變數預解析 變數提公升 和函式預解析 函式提公升 1 變數提公升 就是把所有的變數宣告提公升到當...
js函式預解析
js直譯器在執行js 時,分為兩步 預解析 var和function宣告的變數和函式,將變數或函式提公升至當前作用域的最前面 2.逐行執行 例1 function fun fun 輸出 undefined 原因 使用var 宣告的num 進行了函式內作用域提公升,預解析後,如下 function f...
JS引擎執行 js 預解析
2 案例 我們js引擎執行js分為兩步 預解析 執行。預解析js引擎會把js裡面所有的var還有function提公升到當前作用於的最前面。變數提公升 就是把所有的變數宣告提公升到當前作用域的最前面,不提公升賦值操作。函式提公升 就是把所有的函式宣告提公升到當前作用域的最前面,不呼叫函式。按照 書寫...