Функции и условия if-else в JavaScript
Часто при использовании JavaScript возникает необходимость выполнить разные действия при выполнении разных условий.
К примеру, вы написали скрипт, который проверяет, каким браузером пользуется посетитель, зашедший на ваш сайт. Если это Internet Explorer, должна быть загружена страница специально разработанная под IE, если это какой либо другой браузер - должен быть загружен другой вариант данной страницы.
Общий синтаксис конструкции if-else следующий:
if (условие) { действие } else { действие2 };
В качестве примера можно рассмотреть такой код:
if (browser=="MSIE") { alert("Вы используете IE") } else { alert("Вы используете не IE") };
Заметьте, что используются все строчные буквы. Если написать "IF", произойдет ошибка.
Также обратите внимание на то, что для сравнения используется двойной знак равенства (==).
Если же мы напишем browser="MSIE", то мы просто присвоим значение MSIE переменной с именем browser.
Когда мы пишем browser=="MSIE", то JavaScript "понимает", что мы хотим произвести сравнение, а не присвоить значение.
Более сложные условия if можно создавать просто добавляя их, например, в часть else уже существующей конструкции if-else:
if (условие) { действие1 } else { if (другое условие) { действие2 } else { действие3 }; };
Например:
if (browser=="MSIE") { alert("Вы используете IE") } else { if (browser=="Netscape") { alert("Вы используете Firefox") } else { alert("Вы используете неопознанный браузер:)") }; };
Логические операторы AND, OR и NOT
Для еще более гибкого использования конструкции if-else можно применять так называемые логические операторы.
And записывается как && и используется в тех случаях, когда нужно проверить на истинность более одного условия.
К примеру: Если в холодильнике есть яйца и в холодильнике есть бекон, то мы можем съесть яйца с беконом.
Синтаксис следующий:
if (условие1 && условие2) { действие } if (час==12 && минута==0) { alert("Полдень!") };
Or записывается как || и используется тогда, когда мы хотим проверить на истинность хотя бы одно из двух и более условий. (Получить || можно при зажатой клавише shift и клавише \)
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
К примеру: Если в холодильнике есть молоко, или в холодильнике есть вода, то нам есть, что попить.
Синтаксис следующий:
if (условие1 || условие2) { действие } if (час==11 || час==10) { alert("Полдень пока еще не наступил!") };
Not записывается как ! и используется для отрицания.
К примеру: Если в холодильнике или нет яиц, или нет бекона, то мы не можем съесть или яйца, или бекон.
Синтаксис такой:
if (!(условие)) { действие } if (!(час==11)) { alert("Сейчас не 11 часов") };
Функции в JavaScript
Вместо того, чтобы просто добавлять Javascript на страницу, чтобы браузер выполнял код, когда дойдет до него, вы можете сделать так, чтобы выполнение скрипта происходило только при происхождении какого-либо события.
К примеру, вы создали JavaScript, задача которого - менять фоновый цвет страницы при клике на определенную кнопку. В этом случае вам нужно "сказать" браузеру о том, что этот скрипт не должен выполняться просто потому, что до него дошла очередь.
Чтобы браузер не выполнял скрипт при его загрузке, нужно написать скрипт как функцию.
В этом случае JavaScript-код не будет выполнятся до тех пор, пока мы не "попросим" его об этом особым образом.
Посмотрите на данный пример скрипта, написанного как функция:
<html> <head> <script> function myfunction() { alert("Добро пожаловать!"); } </script> </head> <body> <form name="myform"> <input type="button" value="Нажми меня!" onclick="myfunction()"> </form> </body> </html>
Нажмите на кнопку, чтобы увидеть, что делает данный сценарий:
Если бы строка alert("Добро пожаловать!"); была бы написана не внутри функции, то она выполнялась бы всякий раз, когда браузер доходил бы до этой строки. Но так как мы написали ее внутри функции, эта строка не выполняется до тех пор, пока мы не нажмем кнопку.
Вызов функции (т.е. обращение к ней) происходит в данной строке:
<input type="button" value="Нажми меня!" onclick="myfunction()">
Как вы видите, мы поместили кнопку в форму и добавили событие onClick="myfunction()" для кнопки.
В будущих уроках мы с вами рассмотрим другие типы событий, которые производят запуск функций.
Общий синтаксис для функций следующий:
function functionname(переменная1, переменная2,..., переменнаяN) { // Здесь идет тело функции, те действия, которые она выполняет }
Фигурные скобки: { и } обозначают начало и окончание функции.
Типичной ошибкой при создании функций является невнимательность и игнорирование важности регистра символов. Слово function должно быть именно function. Вариант Function или FUNCTION вызовет ошибку.
Кроме того, использование заглавных букв играет роль и при задании имен переменных. Если у вас есть функция с именем myfunction(), то попытка обратиться к ней, как к Myfunction(), MYFUNCTION() или MyFunction() вызовет ошибку.
По материалам www.echoecho.com
Перевод - Дмитрий
P.S. Присмотритесь к премиум-урокам по различным аспектам сайтостроения, включая JavaScript, jQuery и Ajax, а также к бесплатному курсу по созданию своей CMS-системы на PHP с нуля. Все это поможет вам быстрее и проще получить важные практические навыки:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе
Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!
Смотрите также: