1、同一**塊內,所有var宣告都提前;
2、var 變數的初始化不提前,按順序執行;
3、"undefined"和undefined都存在於window中;
4、if("undefined")真,if(undefined)假;
5、a存在於window中時,"a"也存在window中;
6、function() 函式內不用var宣告而初始化變數,相當於在函式父作用域建立。
7、使用未宣告的變數,會報錯,undefined,function() 會報錯;使用宣告但未初始化的變數,會以undefined展示。
變數宣告提前與函式宣告提前
變數的宣告提前 在全域性作用域中,使用var關鍵字宣告的變數會在所有的 執行之前被宣告,但是不會賦值。所以我們可以在變數宣告前使用變數。但是不使用var關鍵字宣告的變數不會被宣告提前。在函式作用域中,也具有該特性,使用var關鍵字宣告的變數會在函式所有的 執行前被宣告,如果沒有使用var關鍵字宣告變...
JS宣告提前
js中的宣告提前,變數宣告提前,函式宣告提前,以及宣告提前的順序 console.log a a var a functiona console.log a a 6 a 四個輸出分別是什麼呢?我們來除錯一下,執行到 a 6時輸出如下 最後乙個a 報錯。接下來我們來分析一下原因 一 什麼是變數宣告提前...
變數宣告提前
js中只有2種作用域 全域性作用域和函式作用域,沒有塊級作用域。迴圈內定義的變數,相當於定義在迴圈所在的空間,出了迴圈仍可繼續使用。console.log temp 不會報錯,迴圈體沒有塊級作用域,迴圈內的變數相當於直接宣告在當前 塊的最前面 for var i 0 i 10 i 宣告提前 hois...