Gloal Abatement - Использование литерала одного объекта - PullRequest
0 голосов
/ 28 марта 2011

Так что мне просто нужна проверка работоспособности того, как я размещаю свой код для приложения.Я всегда стремлюсь изучать лучшие подходы.

Я в основном использую Object Literal для организации своего кода, что означает, что у меня есть одна глобальная переменная.Затем для каждого раздела приложения я создаю отдельный объект - что-то вроде:

var MYAPP = {

        init : function() {
            //site wide common js
        },

        sections : {

            homepage : function() {
                //homepage js
            },

            anotherpage : function() {
                //another page js
                tools.usefultool();
            }

        },

        tools : {

            usefultool : function() {
                //useful reuseable method
            }

        }
};

Мой вопрос заключается в том, что, хотя это помогает в организации кода, мне интересно, какие объекты инициализируются, но никогда не используются.Например, если я на главной странице сайта, я просто позвоню MYAPP.sections.homepage().На самом деле мне не нужны никакие другие объекты, поэтому я задаюсь вопросом - имеет ли эта структура влияние на производительность ?Есть ли способ лучше?Структура близко следует за великой статьей Ребекки Мерфи «Использование объекта для организации вашего кода» (http://blog.rebeccamurphey.com/2009/10/15/using-objects-to-organize-your-code).

Спасибо!

1 Ответ

2 голосов
/ 28 марта 2011

Да, в неиспользуемом коде всегда происходит снижение производительности, так как парсер должен интерпретировать код, даже если он не выполняется. Но любое выступление здесь настолько незначительно, что вы никогда его не заметите. Единственный реальный удар по неиспользуемому коду - это пропускная способность, необходимая для его загрузки. Если у вас загружен файл размером 100 КБ, который вы никогда не используете, вы тратите время на его загрузку.

...