同乙個標示符,先後用var和function宣告它。最後它是什麼呢?
var a; // 宣告乙個變數,識別符號為a
function a()
alert(typeof a);
顯示的是「function」,即function的優先順序高於var。
有人覺得這是**順序執行的原因,即a被後執行的funcion覆蓋了。好,將它們調換下。
function a()
var a;
alert(typeof a);
結果仍然顯示的是「function」而非「undefined」。即函式宣告優先於變數宣告。
我們把**稍作修改,宣告a時同時賦值。
function a()
var a = 1; // 注意此處
alert(typeof a);
這時顯示的是「number」卻不是「function」了。如果把var宣告語句放在最上面,結果也是一樣的
var a = 1; // 注意此處
function a()
alert(typeof a);
這相當於
function a()
var a;
a = 1; // 注意此處
alert(typeof a);
即把「var a = 1」拆分為兩步。 a被重新賦值了,自然是最後的那個值。
JavaScript中函式宣告優先於變數宣告
同乙個標示符,先後用var和function宣告它。最後它是什麼呢?1 2 3 4 vara 宣告乙個變數,識別符號為a functiona alert typeofa 顯示的是 function 即function的優先順序高於var。有人覺得這是 順序執行的原因,即a被後執行的funcion覆蓋...
javascript中的函式式宣告與變數式宣告
觀察下面兩段 試寫出hello word 的執行結果 變數式宣告 function hello msg alert msg 函式式宣告 function hello msg alert msg 對於變數式宣告,首先彈出word,然後彈出function,而函式式宣告,則兩次都是彈出function....
JavaScript函式宣告和函式表示式
1.function func 函式宣告 2.var fn function 函式表示式宣告的一種 在js中函式宣告和大部分語言一樣很好理解。但不能為匿名函式,即 function 會報錯。正確的宣告方式為 function func js中函式表示式的宣告方式不止上面的一種方式.最常見的還有下面的...