0

オブジェクトの「タッチ」機能を別の機能に設定しようとしています。JavaScript やファースト クラス関数についてはよく耳にしますが、まだコツがありません。ここに私が持っているものがあります:

customClose.touched = this._close.bind(this);

customClose には、デフォルトで空の「touched」という関数があります。パラメータを取る別の関数 this._close.bind に設定したい。どうすればこれを機能させることができますか?

4

2 に答える 2

0

私の元の実装は正しかったことがわかりました。問題は、私が行った別の変更により閉じるボタンが移動したことでした。目立たないので気付きませんでした。関数をオブジェクトの関数にバインドするには、次のようにします。

customClose.touched = this._close.bind;
于 2013-07-30T02:13:56.443 に答える
0

これはトリックを行います:

customClose.touched = this._close.bind;

thisの内部で使用するthis._close.bindと、 を呼び出すときcustomClose.touched(p)thisが を参照することに注意してくださいcustomClose

thisを参照し続けたい場合はthis._close、次を使用できますbind

customClose.touched = this._close.bind.bind(this._close);
于 2013-07-30T01:32:34.697 に答える