JavaScript中函式宣告優先於變數宣告

2021-09-08 00:06:12 字數 809 閱讀 6482

同乙個標示符,先後用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中函式表示式的宣告方式不止上面的一種方式.最常見的還有下面的...