Структурирование множества функций
Всем привет.
Я решил написать для своих нужд "библиотеку", которая будет состоять из собственных функций. Погуглив как это всё организовать, нашёл решение - сделать из всех функций объект. var lib = { funcOne: function(e) {}, funcTwo: function(e) {}, // и т.д. } Правильно ли это будет делать с точки зрения производительности, если таких функций очень много и они достаточно большие? Не предпочтительней ли будет, допустим, такая конструкция? var lib = function() {}; lib.prototype.funcOne = function() {}; lib.prototype.funcTwo = function() {}; |
NO_ONE,
посмотри код lodash, посмотри.... если 4.14.0, то начиная со строки 15992 |
Спасибо за совет, посмотрел. По примеру lodash написал такой модуль:
(function() { "use strict"; function myLib() {}; function funcOne() {} function funcTwo() {} myLib.funcOne = funcOne; myLib.funcTwo = funcTwo; window._ = myLib; }()); Но будет ли это лучше по производительности, чем вариант выше с прототипами? Про последний, кстати, узнал из рекомендаций гугла. P.S. Я понимаю, что в рамках моей "библиотеки" скорость не так существенна, но мне просто интересно, как будет эффективней реализовать задачу. |
NO_ONE,
Там не про тебя писалось. 1) Они советуют избегать замыканий в конструкторах, чтобы не забивать память 2) Неизменяемые свойства инстанс переменных конструктора они советуют пихать в прототип 3) Производительность будет зависеть от того, что ты будешь делать в своих funcOne и funcTwo 4) Если у тебя библиотека будет не только под клиент, то одного window контекста мало))) |
Часовой пояс GMT +3, время: 04:34. |