Pot.js で利用可能。 PotLite.js では利用できません。
this と引数を束縛した関数を返します。
this を引数と共に束縛した新しい関数を作成し返します。
引数 func は対象の関数を指定します。
引数 self は対象となるオブジェクト (this) を指定します。
self 以降に任意の数の引数を指定すると、束縛する対象となります。
bind は、Function.prototype.bind (JavaScript 1.8.5 以上で有効) と似ています。
Pot.globalize() が適応されている場合、Pot.bind() が bind() で実行できます。
this と引数を束縛した関数が返ります。
var Hoge = function() {
this.msg = 'Hello Hoge!';
};
Hoge.prototype.sayHoge = function() {
Pot.debug(this.msg);
};
var hoge = new Hoge();
// direct
setTimeout(hoge.sayHoge, 1000); // undefined
// bind
setTimeout(Pot.bind(hoge.sayHoge, hoge), 1000); // Hello Hoge!
// with arguments
Hoge.prototype.sayHogeMsg = function(msg) {
Pot.debug(this.msg + msg);
};
// direct
setTimeout(hoge.sayHogeMsg, 1000); // NaN
// bind
setTimeout(Pot.bind(hoge.sayHogeMsg, hoge, 'Hi!'), 1000); // Hello Hoge!Hi!