Содержание

Синтаксис JavaScript. Рекомендации.

Переменные в JavaScript

Операторы цикла for, while, do

Тернарный оператор

Для избежания ошибок сравнение лучше заключать в скобки. Например, на странице есть элемент чекбокс <input type="checkbox" checked id="checknodns" /> и нужно проверить его состояние

var checknodns = document.getElementById('checknodns');
var test = (checknodns.checked) ? "true" : "false";

switch case

Когда выполняется инструкция switch, она вычисляет значение выражения, а затем ищет метку case, соответствующую этому значению. Если метка найдена, исполняется блок кода, начиная с первой инструкции, следующей за меткой case. Если метка case с соответствующим значением не найдена, исполнение начинается с первой инструкции, следующей за специальной меткой default:. Если метки default: нет, блок кода пропускается целиком.

Следующая инструкция switch эквивалентна повторяющимся инструкциям if/else:

switch(n) {
case 1:
// Выполняется, если n == 1
// Исполняем блок кода 1.
break; // Здесь останавливаемся
case 2:
// Выполняется, если n == 2
// Исполняем блок кода 2.
break; // Здесь останавливаемся
case 3:
// Выполняется, если n == 3
// Исполняем блок кода 3.
break; // Здесь останавливаемся
default: // Если все остальное не подходит...
// Исполняем блок кода 4.
break; // Здесь останавливаемся
}

Инструкция break приводит к передаче управления в конец инструкции switch или цикла. Конструкции case в инструкции switch задают только начальную точку исполняемого кода, но не задают никаких конечных точек. В случае отсутствия инструкций break инструкция switch начинает исполнение блока кода с метки case, соответствующей значению выражения, и продолжает исполнение до тех пор, пока не дойдет до конца блока. В редких случаях это полезно для написания кода, который переходит от одной метки case к следующей, но в 99 % случаев следует аккуратно завершать каждый блок case инструкцией break.

При использовании switch внутри функции можно помещать вместо break инструкцию return. Обе эти инструкции служат для завершения работы инструкции switch и предотвращения перехода к следующей метке case.

Ниже приводится более реальный пример использования инструкции switch; он преобразует значение в строку способом, зависящим от типа значения:

function convert(x) {
switch(typeof x) {
case 'number': // Преобразуем число в шестнадцатеричное целое
return x.toString(16);
case 'string': // Возвращаем строку, заключенную в кавычки
return '"' + x + '"';
case 'boolean': // Преобразуем в TRUE или FALSE, в верхнем регистре
return x.toString().toUpperCase();
default:
// Любой другой тип преобразуем обычным способом
return x.toString()
}
}
Стандарт ECMAScript v3 допускает указание после case произвольного выражения, например case a[0]:, case n+1:.