console.
log(a); //不會出錯,會輸出undefined
var a=
100;
console.
log(a); //100;
由於從上往下執行時遇見了var
,所以實際執行順序:
var a; //宣告提前
console.log(a);//undefined
a=100;//賦值任然留在原位置
console.log(a);//100
function fn();
fn();
console.log(a);// 報錯未定義!
實際執行:
function fn();
fn();
console.log(a); //報引用錯誤
console.log(fn()); //2
function fn()
實際執行:
var fn;
fn = function
console.log(
fn());
var a=123;
functiona()
console.log(a);
實際執行:
var a;
functiona()
a=123;
console.log(a); //123
變數宣告提前 總結 js
js在執行時,js變數宣告語句無論出現在何處,都會先於其他 首先被執行。使用var的宣告的變數會提前。先舉個例子看看 console.log a function a var a 3 var b function console.log a 3function a b console.log a 4...
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...