2016-03-21 5 views
1

は、私がこのようなコードがあるとしましょう:同時にバインドしてコールする方法はありますか?

var boundFilter = this.filterCouriers.bind(this); 
boundFilter(); 

は1行でそれを呼び出す方法はありますか?

(変数に格納することなく、バインドされたメソッドを呼び出す方法がある場合は基本的に私は疑問に思って。)

答えて

6

ちょうどコール

this.filterCouriers.call(this); 

を使用してコール()メソッドは、個別に設け与えられ、この値と引数を持つ関数を呼び出します。 MDN - call

+0

'は.call(本)'と '.bind(この)()'との間に違いはありますか? (私はより良い呼び出し構文が好きです。) – Vaccano

+0

@Vaccano - 違いは、後で実際に使用するために変数に格納することです。最終結果の視点との違いはありません。どちらも同じ結果に終わります。 –

3

bind機能を返すので、あなたがimmediatellyそれを呼び出すことができます。

this.filterCouriers.bind(this)(); 
1
this.filterCouriers.bind(this)(); 

これはトリックを行う必要があります。これを試していない場合は、次の

(this.filterCouriers.bind(this))(); 
関連する問題