6

showText()フォームテキストボックスから別の段落にテキストをコピーする関数があります。次のように呼び出されます。

document.getElementById("mybutton").onclick = showText; 

() を showText の最後に追加しても機能しません。ここで同様の回答を読むことで、関数を呼び出す唯一の方法であることがわかります。

スクリプトの後半では、() が機能する必要があります。

window.addEventListener("keypress", function(e) {
    var keycode = e.keyCode;
    if (keycode == 13) {
        showText();
    }
}, false);

ここで何が起こっているのかわかりません。

4

3 に答える 3

15

showText関数 を返しますshowText

showText()関数を実行し、結果showTextを返します。

.onclick などのイベント ハンドラーに関数をアタッチすると、function.

次のように、関数を呼び出して結果をイベントに返すことができます:document.getElementById("mybutton").onclick = showText();関数自体が関数を返す場合:

function showText() {
    return function () { 
        alert('hello world'); 
    }
}
于 2013-04-02T22:20:06.213 に答える
0

Javascript関数では、変数に割り当てることができることを意味するファーストクラスの市民です...これは、最初の関数で行っていることです...基本的に、選択した関数に onclick を設定しています(ブラウザーに、これがクリックされます...この関数を呼び出します)

() を使用して、関数を呼び出しています。

私はまた、このようなことをすることができます

function test() {
  alert('Alert something');
}

var a = test;
a();
于 2013-04-02T22:22:22.787 に答える