Некоторые тесты говорят мне, что new Object()
- это довольно быстрый процент, хотя это только по сравнению с синтаксисом {}
, а не с избытком других задач, которые вы, возможно, захотите выполнить.
Функция тестирования:
function time(amount:int, test:Function):Number
{
var average:Number = 0;
var averages:Array = [];
for(var n:int = 0; n<amount; n++)
{
var start:Number = getTimer();
test();
averages[averages.length] = getTimer() - start;
}
for each(var a:Number in averages) average += a;
return average / averages.length;
}
Затем два наших испытуемых:
function short():void
{
for(var i:int = 0; i<1000000; i++) var obj:Object = {};
}
function long():void
{
for(var i:int = 0; i<1000000; i++) var obj:Object = new Object();
}
И результаты:
trace(time(5, short)); // 278.6
trace(time(5, long)); // 153.6
Увеличение скорости примерно на 45% при использовании new Object()
, но вы заметите, что общее время все еще незаметно (даже для 1 000 000 итераций).
Лично я все еще буду придерживаться синтаксиса {}
для простоты и аккуратности среди других личных предпочтенийпричины.