JavaScript: основы, синтаксис и современные тренды
- JavaScript движки: Jaeger Monkey (Mozilla Firefox повседневные вопросы настройки 4) и Google V8 (Google Chrome использование отладчика (консоль), плагины)
- Общие стандарты кодирования PHP: правила наименования классов, PHP_CodeSniffer и т.д.
- jQuery - фреймворк фокусирующийся на взаимодействии JavaScript и HTML.
Дополнительная документация по JS:
JavaScript - объектно-ориентированный скриптовый язык программирования. Основные архитектурные черты: динамическая типизация, слабая типизация, прототипное программирование, автоматическое управление памятью. JavaScript наиболее широкое применение находит в создании клиентских сценариев (или скриптов). Это означает, что текст сценария передается на компьютер конечного пользователя и там выполняется, внося в страницу дополнительную динамику и расширяя ее возможности.
JavaScript может выполняться на стороне сервера, для этого на сервере должен быть установлен один из движков JavaScript, таких как V8, Rhino, SpiderMonkey.
На основе общедоступной документации в Microsoft был создан "перепроектированый" JavaScript - JScript.
Использование JavaScript
- Синтаксис JavaScript – основные правила написания кода. Тернарный оператор. switch case. Циклы for, while, do.
- JavaScript и диалоговые окна: alert, confirm, prompt. Диалоговые окна: alert, confirm, prompt
- Оператор typeof проверка типа данных JavaScript - служит для проверки типов данных. Альтернатива использование ссылки на свойство constructor объекта.
Области видимости переменных. Область видимости переменной - определяет место в тексте скрипта, где переменная может быть "видима", т.е. объявлена и доступна для использования.
Различают две области видимости: глобальную - область видимости уровня страницы (глобальные переменные являются свойства объекта Объект Object Window HTML DOM HTML DOM: Объектная Модель Документа - JavaScript и HTML), локальную - область видимости уровня функции. Переменные объявленные непосредственно в тексте сценария имеют глобальную область видимости, что делает их доступными в любом месте во всех блоках сценариев на странице. Если же переменная объявлена в теле одной из функций, то она получает локальную область видимости и может быть использована только операторами тела данной функции. Грубо говоря, интерпретатор "убивает" локальные переменные как только функция завершит свою работу. Это позволяет сэкономить массу системных ресурсов.
Если для переменной не объявлена область видимости (не использовано объявление при помощи ключевого слова var), эта переменная становиться глобальной, даже если она используется только в области видимости внутри функции.
Ссылки.
Ссылка — это указатель на фактическое местонахождение объекта. В отношении которого действует предположение, что физический объект никогда не может быть ссылкой. Строка — это всегда строка, а массив — всегда массив. Но на один и тот же объект могут ссылаться многие переменные. Поддерживая наборы ссылок на другие объекты, язык предоставляет вам гораздо больше гибкости.
Объект может содержать набор свойств, целиком состоящий из простых ссылок на другие объекты (такие как строки, числа, массивы и т.д.). Когда несколько переменных указывают на один и тот же объект, модификация исходного типа этого объекта отразится на всех переменных.
Контекст JavaScript. Контекст - объект, внутри которого выполняется ваш JavaScript код. Переменная this всегда будет ссылаться на объект, внутри которого код в данный момент работает. Следует помнить, что глобальные объекты фактически являются свойствами объекта window. Это означает, что даже в глобальном контексте переменная this будет ссылаться на объект.
Методы call и apply служат для переключения контекста.
Поиск и обработка ошибок
Рассмотрим код, вызывающий конструктор без ключевого слова new, в случае чего this не будет ссылаться на создаваемый объект. Некорректный вызов Person успешно происходит, но возвращается как undefined и создаёт глобальную переменную name. Для отладки (debugging) JavaScript можно перевести его в строгий режим. Для этого наверху файла или тела функции пишется "use strict";.
function Person(name) { "use strict"; this.name = name; } var ferdinand = Person("Евлампий"); console.log(name); //undefined //Евлампий
Операторы манипулирования объектом
Операторы манипулированием объекта:
- for … in
- new
- this
- with
Оператор for…in.
Оператор for…in присваивает переменной поочередно все свойства объекта. Для каждого свойства JavaScript выполняет указанные утверждения. Оператор for…in выглядит следующим образом:
for (variable in object) { statements }
Следующая функция берет ее как аргумент объект и имя объекта. Затем повторяет все свойства объекта и возвращает строку, в которую внесен список имени свойства и значения.
function dump_props(obj, obj_name) { var result = "" for (var i in obj) { result += obj_name + "." + i + " = " + obj[i] + "<br>" } result += "<hr>" return result}
Для объекта car со свойствоми make и model, result выглядел бы так:
car.make=Ford car.model=Mustang
Задержки и интервалы. DHTML анимация.
В сценариях часто возникает необходимость отложить выполнение действий на некоторое время или выполнять эти действия с заданной периодичностью. Примером может служить создание "тикающих" часов на web- странице. Для создания таких часов необходимо с периодичностью в одну секунду получать текущее время и выводить его на страницу.
Одной из наиболее мощных DHTML технологий, которую можно реализовать с помощью JavaScript и Основы работы с CSS, является анимация. В DHTML анимации нет ничего особенного – надо лишь периодически изменять одно или несколько свойств стиля одного или нескольких элементов. Чтобы, например, передвинуть изображение влево, надо постепенно увеличивать значение свойства style.left этого изображения, пока последнее не займет требуемое положение. Можно также постепенно изменять свойство style.clip для «открытия» изображения пиксел за пикселом. Никакая DHTML анимация не обходится без метода setInterval() или setTimeout() (для анимации используется также requestAnimationFrame).
- Отложенное выполнение функции
Для отложенного выполнения функции используется метод setTimeout, имеющий следующий формат вызова:
timerId = setTimeout("код javascript", timeout);
где
- timerId - значение, возвращаемое методом setTimeout можно использовать для отмены отложенного выполнения вункции.
- "код javascript" - операторы JavaScript или вызов замкнутой функции
- timeout - задержка выполнения кода в миллисекундах.
Для отмены отложенного выполнения кода используется метод clearTimeout, которому в качестве параметра передается идентификатор таймера, возвращаемый методом setTimeout:
clearTimeout(timerId);
<script> document.body.style.background = "blue"; setTimeout(function() { document.body.style.background = "yellow"; }, 2000); </script>
- Периодическое выполнение функции
Для периодического выполнения функции используется метод setInterval, имеющий следующий формат вызова:
timerId = setInterval("код javascript", period);
где
- timerId - значение, возвращаемое методом setTimeout можно использовать для отмены отложенного выполнения вункции.
- "код javascript" - операторы JavaScript или вызов замкнутой функции
- period - период выполнения кода в миллисекундах.
Для отмены периодического выполнения кода используется метод clearInterval, которому в качестве параметра передается идентификатор таймера, возвращаемый методом setInterval:
clearInterval(timerId);
Например, выводить сообщения каждую секунду
<script>setInterval(function () { alert('My message') }, 1000) </script>
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах