Хотя это можно * считать случаем преждевременной оптимизации, рассмотрим случай, когда семантика отличается , и первый метод, вероятно, предпочтителен (так как не сохранено дополнительное состояние) .
В любом случае, первый метод «объекты» является «более быстрым» (для некоторого значения «быстрее»), потому что те же функции , которые являются свойствами того же объекта , вызываются.
Второй метод «functions» будет «медленнее» (для некоторого значения «slower»), потому что каждый раз, когда выполняется myutils
функция (но помните, что функции также являются объектами), которую она возвращает новый объект , который имеет новые функции в качестве свойств. Таким образом, по определению это должно сделать больше работы. (Кроме того, второй метод не будет запускаться как есть, я перевел его на «рабочий код» в моей голове.)
Удачного кодирования.
Следуя комментарию zerkms, я добавил тестовый пример jsperf: http://jsperf.com/5931661 (он также включает в себя соответствующие исправления ошибок; оба «примера» фактически были испорчены).