javascriptのbind
obj1.fnc1(arg1,arg2,…)
とするところを
obj1.fnc1.bind(obj2,arg1,arg2,…)
とすると、fnc1内の処理におけるthisにobj2を代入した新たな関数を作成するとのことです。ただし、これだと関数を作成するだけなので、関数を実行したり戻り値を取得したい場合は
obj1.fnc1.bind(obj2,arg1,arg2,…)()
とするのだそう。この最後の括弧をたびたび忘れる・・・。
obj1.fnc1(arg1,arg2,…)
とするところを
obj1.fnc1.bind(obj2,arg1,arg2,…)
とすると、fnc1内の処理におけるthisにobj2を代入した新たな関数を作成するとのことです。ただし、これだと関数を作成するだけなので、関数を実行したり戻り値を取得したい場合は
obj1.fnc1.bind(obj2,arg1,arg2,…)()
とするのだそう。この最後の括弧をたびたび忘れる・・・。