私はNicholasZackasのHighPerformanceJavascriptを読んでいました。そこでは、forループを逆にして、プロパティルックアップを最小化することでforループを最適化する方法について説明しています。
それ以外の:
for (var i = 0; i < items.length; i++ ) {
processItems(items[i]);
}
あなたが得る:
for (var i = items.length; i--; ) {
processItems(items[i]);
}
執筆時点では、実行時間は「元の時間よりも最大50%〜60%高速」でした。それでも私はjsperfを作成し、FirefoxとChromeでは、特にFirefoxでは、最適化されたforループが実際には著しく遅いことに気づきました。
新しいブラウザでは、ループの最適化が異なりますか?forループを作成する最も効率的な方法は、今では単純に基本的な方法ですか?