2

違いはありますか:

  1. window.onload = someFunction;

  2. window.onload = someFunction();

最後の括弧。彼らは何か違いがありますか?

通常は最初のものを使用します。関数にパラメータを渡す必要がある場合はどうでしょう。最初のステートメントを使用してそれを行うにはどうすればよいでしょうか。

4

5 に答える 5

7

別の方法で説明したように、最初のフォーム

window.onload = someFunction 

「onload」変数を「someFunction」関数と等しくなるように設定するだけです。ページの読み込みが完了すると、この関数が呼び出されます。

他の形式:

window.onload = someFunction()

「onload」変数をsomeFunctionの呼び出しの結果になるように設定します。「someFunction」自体が関数を返さない限り、これはおそらくあなたがやりたいことではありません。

デフォルトでは、onload関数は単一の「イベント」引数で呼び出されます。引数を渡したい場合は、次のようなことができるかもしれません:

window.onload = function (event) {
  someFunction(someArg, someOtherArg)
}
于 2013-03-20T14:42:50.940 に答える
3

2番目のステートメントは、の結果someFunction()に割り当てwindow.onloadます。

パラメータを追加する場合は、次の操作を実行できます。

window.onload = function () {
    someFunction(parameter);
};
于 2013-03-20T14:40:12.050 に答える
2

window.onload = someFunction;に機能を割り当てますonload

window.onload = someFunction(); 関数を呼び出し、その戻り値を に代入しますonload。(その関数の戻り値が別の関数でない限り、これは望ましくありません)。

関数にパラメーターを渡す必要がある場合はどうなりますか

通常、いくつかの引数を指定して元の関数を呼び出す以外に何もしない新しい関数を定義し、その新しい関数をイベント ハンドラーに割り当てます。

于 2013-03-20T14:36:46.533 に答える
1

使用する場合

window.onload = someFunction;

window.onload で someFunction という名前の関数が呼び出される

使用する場合

window.onload = someFunction();

someFunction() が実行され、結果が window.onload に割り当てられます

于 2013-03-20T14:37:32.140 に答える
0

はい。置くと、の結果は別の関数window.onload = someFunction()になることが期待されます。someFunction()これは、関数をラップしたり、パラメーターを渡したりするために使用できます。例えば:

window.onload = myFunction(arg1, arg2)

myFunction(arg1, arg2)これらの2つの変数を組み込んだ関数を返すことが期待されます。

于 2013-03-20T14:38:58.933 に答える