コールバックからアクションを受け取るオブジェクトを使用する次のコード例があります。これは良いデザインパターンではないようです。またはそれは?Javascriptのコールバックを適切に使用していますか(オブジェクト指向スタイル)ですか?
setTimeOut()
は、1秒後にファンクションを起動すると、objInstance
グローバル変数(DOMスコープ)を使用してClassExampleオブジェクトインスタンスにアクセスします。誰かがオブジェクト指向設計内でコールバックを利用するより良い方法をお勧めしますか?
私は、オブジェクトインスタンス内のデータを更新するためにコールバックを使用できます(変数を増やすなど)。
function ClassExample{
this.initiate = function() {
setTimeOut(objInstance.afterTimeOut,1000); //using the objects global handle
}
this.afterTimeOut = function() {
alert("Received!");
}
}
var objInstance = new ClassExample(); //instance
objInstance.initiate();
待ち、ワットと
OOP?それはそれを過大に扱うような畏敬の念を抱いています(Javaなどでよく見られるような)。どうして 'setTimeOut(function(){...}、n)'(おそらく関数を前もって別々に作成し、わかりやすい名前をつけているのでしょうか)。あなたが使用していた機能的プログラミングの垣間見ることを恐れてはいけません。 – delnan
私は「over-OOP」という言葉が好きです.Javascriptの* lots *を記述しているからです。私はJavaとは根本的に異なる方法を理解していませんでした.- – Pointy