いくつかのクラスのN個のインスタンスがあるとしましょう。
各インスタンスは、ウィンドウのスクロールによる計算を行う必要があります。
それを行うには、2つの方法があります。
1)各インスタンスは、独自のscroll
のハンドラがあります。すべてのインスタンスで実行さウィンドウのスクロールを処理する方法
var N = 100,
i;
var FirstWay = function() {
this.doSomeCalculations = function() {
// some calculations here
};
window.addEventListener('scroll', this.doSomeCalculations);
};
for (i = 0; i < N; i++) {
new FirstWay();
}
2)シングルスクロールハンドラ:
var N = 100,
i,
instances = [];
var SecondWay = function() {
this.doSomeCalculations = function() {
// some calculations here
};
};
var doCommonCalculations = function() {
var i;
for (i = 0; i < N; i++) {
instances[ i ].doSomeCalculations();
}
};
for (i = 0; i < N; i++) {
instances.push(new SecondWay());
}
window.addEventListener('scroll', doCommonCalculations);
をそうし、私のこの方法のどちらがパフォーマンスの面で優れているかという疑問がありますか?
もっと速く、なぜそう思っていますか? – Cerbrus
を測定します。あなたが確かめるための唯一の方法です。 –
@Cerbrus私は確信していないので、私は尋ねます – Legotin