bind()
bind()はFunctionオブジェクトのthisや引数を固定するためのメッソッドです。
var fun = function(){
alert(this.obj);
}
var fun2 = fun.bind({obj:"ok"});
fun2();
この場合はfunのthisを{obj:”ok”}に固定したfun2という関数オブジェクトを作成しして実行しており、「ok」とアラートが表示されます。
第2引数以降には引数を固定するこができ、以下のように記述を行うと「”ok”,”bar”,”foo”」とコンソール上に出力されます。
var fun = function(arg01,arg02){
console.log(this.obj,arg01,arg02);
}
var fun2 = fun.bind({obj:"ok"},"bar","foo");
fun2();
実行時にthisを固定したい場合はcall()やapply()を使うのがよいでしょう。
登録日 : 2015年08月11日 最終更新日 : 2015年8月11日