- Снижение количества глобальных переменных, в идеале – не более одной на приложение.
- Использование единственного объявления var в функциях, что позволяет одним взглядом охватить все переменные и предотвращает появление неожиданностей, вызванных особенностями механизма подъема переменных.
- Циклы for (использовать только для массивов), циклы for-in (использовать только для объектов), инструкции switch, «eval() – это зло», нежелательность расширения прототипов.
- Следование соглашениям по оформлению программного кода (последовательное использование пробелов и отступов; использование фигурных скобок и точек с запятой даже там, где они являются необязательными) и соглашениям по именованию (конструкторов, функций и переменных).
Необходимо стремиться свести к минимуму операции обращения к дереву DOM. Это означает, что:
- Следует избегать обращений к элементам DOM внутри циклов
- Желательно присваивать ссылки на элементы DOM локальным переменным и работать с этими переменными
- Следует использовать интерфейс селекторов, где это возможно
- Следует сохранять значение свойства length в локальной переменной при выполнении итераций через коллекции HTML
Стараться свести к минимуму количество операций, модифицирующих дерево DOM, что означает накапливать изменения, выполняя их за пределами «живого» дерева DOM документа.