騰訊研發體系新產品,雲原生+低程式碼佐你easy coding
阿新 • • 發佈:2022-04-07
1. 我們js引擎執行js分為兩步:預解析 程式碼執行
(1)預解析 js引擎會把js裡面所有的var 含有function 提升到當前作用域的最前面
(2)程式碼執行 按照程式碼書寫的順序從上往下執行
2. 預解析分為變數預解析(變數提升)和函式預解析(函式提升)
(1)變數提升 就是把所有的變數宣告提升帶當前的作用域最前面 不提升賦值操作
(2)函式提升 就是把所有的函式宣告提升帶當前的作用域最前面
案例:
var a = 18; f1(); function f1(){var b = 9; console.log(a); console.log(b); var a = '123'; } //相當於執行了以下程式碼 //1.先提升變數和函式 var a; function f1(){ // 3.函式內部 var b; var a; b = 9; console.log(a);//undifed console.log(b);//9 a = '123'; } //2.賦值 a = 18; f1();