thisメソッドチェーンの秘訣は、チェーンできるようにしたい各メソッドから戻ることです。これにより、次のメソッドをthis.method()自動的に実行できます。バーオブジェクトの定義は、次のようになります。
function bar() {
// bar initialization code here
}
bar.prototype = {
delay: function(amt) {
// delay code here
return(this);
},
start: function() {
// start code here
return(this);
},
then: function(fn) {
// then code here
fn();
return(this);
}
};
var foo = new bar().delay(750).start().then(onComplete);
あなたの例では、が実行され、新しいオブジェクトnew bar()へのポインタを返します。barその新しいオブジェクトポインタを使用して、.delay(750)そのオブジェクトでメソッドが呼び出されます。次に、そのメソッドはオブジェクトも返すため、同じオブジェクトである.start()戻り値でメソッドが呼び出されます。.delay(750)