1

私は次のJavaScriptを持っています。

var f = function() { ... };
if (x === 1) {
    // redefine f.
    f = function() { 
       ...
    };
}

そのコードは有効ですか?言い換えれば、実際にコードを書くifステートメント内でjavascript関数を再定義できますか?

私はこれのために心配しています: if / elseステートメント内の関数宣言?

4

1 に答える 1

1

はい、できます。

f = function() { 
   ...
};

は関数宣言ではなく、関数(に割り当てられている)であるため、他の質問で述べた問題はここでは当てはまりません。f

変数と関数の宣言のみが引き上げられます。

于 2013-02-18T14:14:14.943 に答える