Страницы

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

вторник, 10 декабря 2019 г.

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

#javascript #производительность


Я привык добавлять словари в код для создания пространства имен:
var namespace = {
    // Какой-то код
    somefunc: function () { },

    // Какие-то данные
    somedata: undefined
}

Потому что данные и функции удобно разделяются:
namespace.somefunc();
namespace.somedata = "";

Но мне не совсем ясно, как это искусственное разделение влияет на производительность?
Насколько затормаживаются вызовы и обращения?    


Ответы

Ответ 1



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

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

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