有沒有人做過基準測試,或者可以鏈接到關於此主題的文章?特別對IE結果感興趣,因爲通常JS性能在其他瀏覽器中不是問題。使用函數式Javascript與「程序式」的性能影響
我想知道它是多麼慢得多做一些事情,如:
var numbers = [1, 2, 3, 4, 5, 6, 7];
var results = numbers.map(function() {
// do some stuff
});
而不是典型的:
var numbers = [1, 2, 3, 4, 5, 6, 7];
var results = [];
for (var i = 0; i < numbers.length; i++) {
var number = numbers[i];
var result;
// do some stuff
results.push(result);
}
我顯然更喜歡實用的風格,但我相信額外的爲每個項目調用額外功能的開銷可能會導致大集合減慢速度。
謝謝!
可能是一個爭論點,但IE <9甚至不實現'[] .map'。你正在修補'Array.prototype'你自己? – 2010-08-09 16:00:59
Erlang成名的Joe Armstrong總是在提問這樣的問題時給出建議,程序員應該編寫他們可以編寫的最漂亮的程序。按照您希望反映的想法進行編碼 - 當然,請使用優質合適的基本算法! - 讓讓V8,Tracemonkey和JScript的人們更快地處理函數調用。不要讓自己的代碼在一年內無法讓事情變得更快。 – Pointy 2010-08-09 16:04:30
@新月是修補Array.prototype,或使用類似這樣的東西:http://documentcloud.github.com/underscore/ – adamJLev 2010-08-09 16:30:25