var x = 1;
if (function f(){}) {
x += typeof f;
}
x; //"1number"
Typeof f必須是一個函數,它被附加到x和值應該是「1function」typeof f數字怎麼樣?函數作爲條件和類型的引用
var x = 1;
if (function f(){}) {
x += typeof f;
}
x; //"1number"
Typeof f必須是一個函數,它被附加到x和值應該是「1function」typeof f數字怎麼樣?函數作爲條件和類型的引用
我得到"1undefined"
,也許你有另一個變量f
這是一個數字。
函數表達式的名稱(或標識符)只能在函數內部進行訪問。您的代碼不會創建公共符號f
。
的標識在FunctionExpression可以從FunctionExpression的函數體內被引用到允許函數遞歸調用自身。然而,與在FunctionDeclaration,在FunctionExpression無法從引用,不影響封閉FunctionExpression範圍的標識符。
其中FunctionExpression
定義爲:
FunctionExpression:功能標識符選擇(FormalParameterList選擇){函數體}
我在Firefox和Chrome上試過這個,我也得到了1undefined ...但是邏輯上答案應該是1function? – 2011-12-21 10:18:56
@Vikram:如果'f'可以在調用上下文中訪問,那麼是的,它將是'1function'。只需移動條件以外的表達式,以便將它作爲函數聲明進行計算並使用'if(f)',您將看到。 – 2011-12-21 10:19:52
http://jsfiddle.net/KfrVg/你在這裏有什麼? 1NUMBER? – 2011-12-21 10:12:26