3

これは私がすでに試したコードです

function myFunc(){

    alert("3");

    myFunc = function (){

        alert("something else");

    }


}

javascript で裏で何が起きているのか知りたい

アラート 2 を実行myFuncすると、2 番目にアラートを実行し"something else"ます。これが呼び出されたときに舞台裏で何が起こっているのmyFuncですか?関数は関数内からどのように自分自身を書き換えますか?

4

2 に答える 2

5

myFuncはグローバル名前空間にあるため、再定義できます。これは、新しい関数を で割り当てるときに発生しますmyFunc = function() ...

関数はオブジェクトであるため、時間の経過とともに新しい定義を割り当てることができます。myFunc = undefined;関数が再び実行されないようにする場合は、設定することもできます。

于 2013-10-04T07:10:09.197 に答える
1

2 回目に関数を再宣言するだけです。

ページのロード 時に、myFunc()どのアラートを宣言するかを宣言します。
myFunc()

于 2013-10-04T07:09:52.283 に答える