のようなJavaScriptオブジェクトでchainabilityを有効にし、このコードを見て:私はchainabilityについての質問をしたjQueryの
document.getElementById('menu').fadeIn(200, function(){ //callback });
私はjQueryのせずにこれを行うことができますどのように?
注:名前フェードイン()とフェードアウト()例えば、jQueryの機能が存在しません。
のようなJavaScriptオブジェクトでchainabilityを有効にし、このコードを見て:私はchainabilityについての質問をしたjQueryの
document.getElementById('menu').fadeIn(200, function(){ //callback });
私はjQueryのせずにこれを行うことができますどのように?
注:名前フェードイン()とフェードアウト()例えば、jQueryの機能が存在しません。
「メソッドチェーンは、オブジェクト指向プログラミング言語で呼び出し 複数のメソッドを呼び出すための一般的な技術である。各メソッドは、コールがで一緒 を連鎖することを可能にする、 オブジェクト(おそらく現在のオブジェクト自体)を返します方法のチェーンはまた、 メソッドの増加量のために列車の難破船として知られている 別の行の後に。
//Create an object which contains functions
var obj={
alert : function(txt){
alert(txt);
return this //return itself
},
confirm :function(txt){
confirm(txt);
return this //return itself
}
}
//Now you can chain as much as you want
obj.alert("This").alert("is").confirm("called").alert("chaining.");
出典:
それは簡単だったとは気づかなかった。 – 472084
私はオブジェクトを作りたくない。私はdocument.getElementByIdのための新しいメソッドを作成したい私はここで何か[リンク](http://james.padolsey.com/javascript/prototypal-chainability/)を読んだが、私は方法を "添付"できませんオブジェクトに。 –
あなたのメソッドが含まれているオブジェクトを返します(そして、時には、いくつかのリターンデータを管理するためのコールバックメカニズムを提供)する必要がchainabilityを許可するには:
var chainable ={
doSomething : function(input, callback){
//do something with the input
var output = input;
if (callback && typeof(callback) === "function") {
callback(output);
}
return this;
}
}
chainable.doSomething('test', function(data) {
alert(data);
})
.doSomething('anotherString');
返事をありがとう。私はコールバック管理を理解している –
jQueryのような独自の(単純化または拡張された)メカニズムを実装する必要があります。別のアプローチは、PrototypeライブラリのようなDOM拡張を使うことです。 – Pointy