САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

JS Учебник

JS Главная JS Введение JS Установка JS Вывод JS Синтаксис JS Заявления JS Комментарии JS Переменные JS Операторы JS Арифметика JS Присваивания JS Типы данных JS Функции JS Объекты JS Область JS События JS Строки JS Методы строк JS Числа JS Методы чисел JS Массивы JS Методы массива JS Сортировка массива JS Итерация массива JS Даты JS Формат даты JS Метод получения дат JS Методы набора... JS Математические... JS Случайные числа JS Булевы JS Сравнение... JS Заявления if...else JS Заявление switch JS Цикл for JS Цикл while JS Заявление break... JS Преобразование... JS Битовые... JS Регулярные выражения JS Ошибки JS Отладчик JS Подъемный JS Строгий JS Ключевое слово this JS Руководство стиля JS Практика JS Распространенные ошибки JS Эффективность JS Зарезервированные слова JS Версии JS Версия ES5 JS Версия ES6 JS JSON

JS Формы

JS Формы JS Формы API

JS Объекты

Определение объекта Свойства объекта Методы объекта Доступ к объекту Конструкторы объекта Прототипы объекта Объект ECMAScript 5

JS Функции

Определение функции Параметры функции Вызов Функции Вызвать Функцию Применение функции Закрытие Функции

JS HTML DOM

DOM Введение DOM Методы DOM Документы DOM Элементы DOM HTML DOM CSS DOM Анимация DOM События DOM Слушатель события DOM Навигация DOM Узлы DOM Коллекции DOM Список узлов

JS Браузера BOM

JS Окно JS Экран JS Местоположение JS История JS Навигатор JS Всплывающее окна JS Синхронизация JS Cookies

JS AJAX

AJAX Введение AJAX XMLHttp AJAX Запрос AJAX Ответ AJAX XML Файл AJAX PHP AJAX ASP AJAX База данных AJAX Приложения AJAX Примеры

JS JSON

JSON Введение JSON Синтаксис JSON или XML JSON Типы данных JSON Парсинг JSON Строки JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP

JS или jQuery

jQuery Селекторы jQuery HTML jQuery CSS jQuery DOM

JS Примеры

JS Примеры JS HTML DOM JS HTML Ввод


JavaScript Эффективность



Как ускорить ваш JavaScript код.


Снижение активности в циклах

Циклы часто используются в программировании.

Каждый заявление в цикле, включая заявление for, выполняется для каждой итерации цикла.

Заявление или назначения, которые могут быть размещены вне цикла, заставят цикл работать быстрее.

Плохой:

var i;
for (i = 0; i < arr.length; i++) {

Хорошо:

var i;
var l = arr.length;
for (i = 0; i < l; i++) {

Плохой код обращается к свойству length массива каждый раз, когда цикл повторяется.

Хороший код обращается к свойству length вне цикла и делает цикл быстрее.


Уменьшить доступ DOM

Доступ к HTML DOM очень медленный, по сравнению с другими операторами JavaScript.

Если вы ожидаете получить доступ к элементу DOM несколько раз, обратитесь к нему один раз и используйте его в качестве локальной переменной:

Пример

var obj;
obj = document.getElementById("demo");
obj.innerHTML = "Привет";
Попробуйте сами »


Warning: include(../includes/advertising2.php): failed to open stream: No such file or directory in /var/www/u0396568/data/www/schoolsw3.com/js/js_performance.php on line 53

Warning: include(../includes/advertising2.php): failed to open stream: No such file or directory in /var/www/u0396568/data/www/schoolsw3.com/js/js_performance.php on line 53

Warning: include(): Failed opening '../includes/advertising2.php' for inclusion (include_path='.:') in /var/www/u0396568/data/www/schoolsw3.com/js/js_performance.php on line 53

Уменьшить размер DOM

Держите количество элементов в HTML DOM небольшим.

Это всегда улучшит загрузку страниц и ускорит рендеринг (отображение страниц), особенно на небольших устройствах.

Каждая попытка поиска DOM (например, getElementsByTagName) выиграет от меньшего DOM.


Избегайте ненужных переменных

Не создавайте новые переменные, если вы не планируете сохранять значения.

Чаще, вы можете заменить код, как этот:

var fullName = firstName + " " + lastName;
document.getElementById("demo").innerHTML = fullName;

На этот:

document.getElementById("demo").innerHTML = firstName + " " + lastName

Задержка загрузки JavaScript

Размещение скриптов в нижней части тела страницы позволяет браузеру загрузить страницу первой.

Во время загрузки скрипта браузер не будет запускать другие загрузки. Кроме того, все операции синтаксического анализа и визуализации могут быть заблокированы.

Спецификация HTTP определяет, что браузеры не должны загружать более двух компонентов параллельно.

Альтернативой является использование defer="true" в теге сценария. Атрибут defer указывает, что сценарий должен быть выполнен после завершения страницы. Закончить синтаксический анализ, но он работает только для внешних скриптах.

Если это возможно, вы можете добавить свой скрипт на страницу по коду, после загрузки страницы:

Пример

<script>
window.onload = function() {
    var element = document.createElement("script");
    element.src = "myScript.js";
    document.body.appendChild(element);
};
</script>

Избегайте использования

Избегайте использования ключевое слово. Это оказывает негативное влияние на скорость. Он также загромождает области JavaScript.

Ключевое слово не допускается в строгом режиме.