先來**:
var fn1 =
'ivan'
;var name =
'good'
;var
fn1=
function
(y)function
fn1(x)
function
fn2(x)
fn1(fn2)
;
這裡是乙個特殊情況,也就是變數同名的時候,在這個地方函式表示式,變數,函式宣告都是一樣的名字。
這裡的提公升順序是這樣的:函式宣告直接提公升到最前面,接下來是變數【字面量】,函式表示式是不動的。
改變以後的順序是這樣的:
function
fn1(x)
var fn1 =
'ivan'
;var name =
'good'
;var
fn1=
function
(y)function
fn2(x)
fn1(fn2)
;
這裡fn1(fn2)
呼叫的是改變以後最前面的fn1
的函式宣告的函式。所以輸出以上值。對了。在fn2
裡面是有name
的只是涉及到乙個變數提公升。所以前兩個輸出undefined
一道面試題 變數宣告提公升
問列印結果 var getname function function getname console.log getname 結果是 4 其實這道題可以翻譯成 var getname function getname getname function console.log getname 4 把...
java面試題的陷阱
1.abstract class name 錯。abstract method必須以分號結尾,且不帶花括號。2.public class something 錯。區域性變數前不能放置任何訪問修飾符 private,public,和protected final可以用來修飾區域性變數 final如同a...
經典面試題陷阱之無限迴圈
在vs環境下,請看下面的 輸出的結果是什麼?includeint main for i 0 i 12 i return 0 大家一看到這道題肯定會以為越界訪問了,程式會掛掉。但是這道題裡確實是有一點陷阱的,我們執行起來,這個程式輸出的結果盡然是無限迴圈的hehe。下面讓我們一起來 一下 首先,我們來...