Страницы

Поиск по вопросам

понедельник, 15 октября 2018 г.

Влияние словарей JavaScript на производительность

Я привык добавлять словари в код для создания пространства имен: var namespace = { // Какой-то код somefunc: function () { },
// Какие-то данные somedata: undefined } Потому что данные и функции удобно разделяются: namespace.somefunc(); namespace.somedata = ""; Но мне не совсем ясно, как это искусственное разделение влияет на производительность? Насколько затормаживаются вызовы и обращения?


Ответ

Почти не влияет. Всего лишь 1 доп. поиск в map (все объекты в js являются картами, или map. Вызов namespace.somedata - ни что иное, как window['namespace']['somedata'], против window['somedata'] без нс). Это самая элементарная операция, их масса во время выполнения кода. Зато плюсы (в больших скриптах не засоряется глобальное пространство имен) очевидны.

Комментариев нет:

Отправить комментарий