3

Javascriptのonsubmitが無名関数を使用して次のような値を取得している理由を理解しようとしています。

onsubmit = function() {return validForm();}

onsubmitがtrueまたはfalseの値を取っていることは知っていますが、次のように、onsubmitイベントのtrueまたはfalseの値を取得するために匿名関数がどのように必要か理解できません:

onsubmit = validForm();

誰かが私がこれを理解するのを手伝ってくれるなら、私は非常に感謝します、すべてに感謝し、良い一日を過ごしてください。

4

2 に答える 2

7

有効な割り当ては次のとおりです。

onsubmit = validForm;

onsubmit ハンドラーとして validForm という関数を割り当てています。しかし、これを行うと:

onsubmit = validForm();

関数 validForm を呼び出した結果を onsubmit ハンドラーに割り当てています。validForm がfunctionを返さない限り、これは機能しません。

上記の匿名関数の割り当てが機能する理由は、onsubmit ハンドラーに関数を割り当てているためです。この関数は、呼び出されたときに validForm 関数を呼び出します。

于 2012-07-23T13:40:55.047 に答える
5

戻り値を呼び出しvalidFormて設定しています。onsubmit例:

function foo () {
    return "hi";
}

onsubmit = foo() // eq to onsubmit = "hi";

onsubmit = foo // onsubmit now has the same function as foo
于 2012-07-23T13:41:39.730 に答える