js在執行時,js變數宣告語句無論出現在何處,都會先於其他**首先被執行。使用var的宣告的變數會提前。
先舉個例子看看:
console.log(a); //
function a()
var a = 3;
var b=function()
console.log(a);//
3function a()
b();
console.log(a);//
4
以上例子可以看出,在執行程式前變數a會被提前,讓後函式a會被提前,於是變數a即是函式本身,然後執行程式給先給a賦值3,後執行函式後賦值4,所以最終a的值是4。
總結以上變數宣告和宣告提前,我們宣告變數時盡量在執行程式前先宣告,後在程式中使用變數,這樣可以確保程式按我們預想的一樣執行。
js 理解變數宣告提前
console.log a 不會出錯,會輸出undefined var a 100 console.log a 100 由於從上往下執行時遇見了var,所以實際執行順序 var a 宣告提前 console.log a undefined a 100 賦值任然留在原位置 console.log a ...
js中變數宣告與變數提前
變數宣告 通過var表明變數的型別與名字,但並未賦值,如 var a 變數初始化 即為a賦值,如 a 1 使用變數步驟 a.宣告 b.賦值 3.呼叫 方式一 宣告和賦值不分離 var str 宣告和賦值不分離 console.log str 結果 宣告和賦值不分離 方式二 宣告和賦值分離 var s...
js 變數 函式宣告提前問題
1 變數宣告提前 看 function 以上 報錯 referenceerror a is not defined,這很好理解 根本就沒宣告當然報錯啦,往下看 function 以上 對於直譯器來說是下面這樣的,所以沒有報錯,且輸出了undefined function 再來看一中情況 functi...