hirokonaBlog

ググる→忘れそう→即時メモ 京都のWebデザイナーの備忘録

関数呼び出しの()について

funcA
funcA()
のどちらを呼び出すのかで呼び出す内容も変わるよというはなし。

初心者がやりがちな間違いとして下記のような記述があります。

document.form_main.btn_show.onclick = ShowMessage();
inputタグの onclick 属性に指定していた値が「ShowMessage()」だったので,同じように記述してしまいがちです。ですが,このように書くと,btn_show.onclick プロパティに ShowMessage() の「実行結果」が入ってしまいます。ボタンを押してもメッセージボックスが出ません*3。

document.form_main.btn_show.onclick = ShowMessage;
と書くと,function ShowMessage という関数,(実行結果ではなく)それ自身,という意味になるので,OK なのです。

http://d.hatena.ne.jp/dayflower/20080516/1210917670
だって。

ShowMessage(); = 実行結果が呼び出される(「3」とか)
ShowMessage; = 実行する関数がよびだされる(1と2をたして3になるプロセスが呼び出される)


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください