こんにちは、JavaScript の知識と理解を深めるために助けが必要であるという質問があります。
私の init メソッド内で、.on メソッドを含むこの特定の行を見てください。ここで、ボタンがクリックされたときに this キーワードを使用して contactForm オブジェクトを参照し、次に .show メソッドを呼び出します。 .
.on( 'click', this.show );
ここでの問題は、show がメソッドである場合、なぜこれを行わないのか、なぜこのようにメソッドを呼び出さないのかということです。
.on( 'click', this.show() );
JavaScript が init メソッドに出くわした場合、このコードをすべて解析してから、ここのこのセクションに来て、this.show()
すぐに実行されるため、show メソッドをすぐに呼び出したくないからです。この機能。しかし、私はそれをしたくありません。対応するボタンがクリックされたという条件でその関数が呼び出されるようにしたいだけです。
show メソッドが次のように記述されthis.show
ている場合、括弧がないと show メソッドが自動的に実行されなくなりますか?
var contactForm = {
init: function() {
$('<button></button>', {
text: 'Contact Me!'
})
.insertAfter('article:first')
.on( 'click', this.show() );
},
show: function() {
console.log('showing');
}
用語の説明が不十分であったり、正確でなかったりした場合は申し訳ありません。簡潔で明確に説明された回答は、非常に高く評価されます。