window.onload = cli;はなぜ括弧が必要ないのでしょうか?
役に立った:0件
通常は、
function cli(){
~;
}
をonclickで実行する場合、
onclick = cli();
で動作しますが、
window.onload = cli;
↑で実行する場合はなぜcliの括弧がなくても実行できるのでしょうか。
何か深い意味があるのでしょうか。
素朴な疑問ですが、よろしくお願い致します。
回答(1件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.1ベストアンサー20pt
window.onload = cli()ですと、
cli()を実行した結果(戻り値)をonloadに入れていることになるからNG。
window.onload = cliはwindowオブジェクトのonloadメソッドを
cliという関数(メソッド)に書き換えているという意味です。
ふつうは無名関数をつかって
window.onload = function(){cli();}
的な処理をします。
もっときちんとやるなら、イベントリスナーやらDOMやら
ありますが、まぁそれはおいおい覚えてください。
この回答へのお礼
うお!すばらしい解説!
javascriptの理解が深まりました。
いや、プログラミングの理解が進んだと思います!
千金の回答です。(一般人とは思えない完璧な回答ではないでしょうか。)
ちなみに、ご回答頂いたような解説を学ぶことができる書籍かwebサイトをご紹介頂けないでしょうか。さらに理解を進めたいと思います。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示












