Я думаю, что форма конструктора функции (new function() { }
) будет быстрее, чем возвращение литерала объекта в замыкании ((function(){ return {}; })()
), потому что последний, кажется, выполняет немного больше работы, чем первый.
Однако, похоже, я ошибаюсь, по крайней мере, для пары современных движков JavaScript. Это сравнение jsPerf показывает, что форма литерала / замыкания значительно быстрее как в Chrome, так и в Firefox.
В конечном счете, я думаю, что правильность кода и ясность намерений программиставажнее, чем такая тривиальная оптимизация (которая в любом случае, вероятно, сильно различается в реальных движках JavaScript).