Справочник по javascript

Оператор switch

Часто вместо нескольких расположенных подряд операторов целесообразно воспользоваться специальной конструкцией . Оператор switch сравнивает значение условного выражения с несколькими значениями. Как правило, в качестве выражения используется переменная, в зависимости от значения которой должен быть исполнен тот или иной блок кода. Для сравнения в используется оператор равенства ().


Представим себе переменную , которая может иметь значения (прыгать), (плавать), (летать). Оператор позволяет легко определить блок кода, который должен исполняться для каждого из этих значений. Чтобы показать разницу между операторами и , выполним проверку переменной на соответствие нескольким значениям. Следующий пример показывает два различных способа сделать то же самое. Первый способ использует серию операторов и , а второй — оператор :

<?php

  $action = 'JUMP';

  if ($action == 'JUMP') {
    echo "Мне нравится прыгать.";
  } elseif ($action == 'SWEEM') {
    echo "Я люблю плавать.";
  } elseif ($action == 'FLY') {
    echo "Хотел бы я научиться летать.";
  }

  switch ($action) {
    case 'JUMP':
      echo "Мне нравится прыгать.";
      break;
    case 'SWEEM':
      echo "Я люблю плавать.";
      break;
    case 'FLY':
      echo "Хотел бы я научиться летать.";
      break;
  }

?>

Оператор берет значение, возвращаемое условным выражением, и начинает сравнивать его со всеми значениями, стоящими рядом с ключевым словом (метка), в порядке их следования. Как только совпадение обнаружено, выполняется соответствующий блок кода. Если соответствие не найдено, не исполняется ни один из блоков.

Примечание: условное выражение должно возвращать значение элементарного типа, например число или строку.

Условные операторы (объявления)

Очень часто, когда вы пишете код, вы хотите выполнять разные действия для разных решений.

Вы можете использовать условные операторы в своем коде, чтобы сделать это.

В JavaScript есть следующие условные выражения:

  • Используйте , чтобы указать блок кода, который нужно выполнить, если указанное условие true (истинно)
  • Используйте , чтобы указать блок кода, который будет выполнен, если то же условие false (ложно)
  • Используйте , чтобы указать новое условие для проверки, если первое условие false (ложно)
  • Используйте , чтобы указать много альтернативных блоков кода, которые должны быть выполнены

Оператор описан в следующей главе этого учебника.

Синтаксис функции

JavaScript функция определяется с помощью ключевого слова , затем и скобки .

Имена функций могут содержать буквы, цифры, знаки подчеркивания и знаки доллара (те же правила, что и с переменными).

В скобки можно вводить имена параметров, разделенные запятыми:

Код, который будет выполняться функцией, помещается внутри фигурных скобок:

function имя_функции (параметр1, параметр2, параметр3) {    код, который будет выполнен}

Параметры функции, являются именами перечисленными в определении функции.

Аргументы функции, являются действительными значениями полученными с помощью функции при вызове.


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

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

JS Tutorial

JS HOMEJS IntroductionJS Where ToJS OutputJS StatementsJS SyntaxJS CommentsJS VariablesJS OperatorsJS ArithmeticJS AssignmentJS Data TypesJS FunctionsJS ObjectsJS EventsJS StringsJS String MethodsJS NumbersJS Number MethodsJS ArraysJS Array MethodsJS Array SortJS Array IterationJS DatesJS Date FormatsJS Date Get MethodsJS Date Set MethodsJS MathJS RandomJS BooleansJS ComparisonsJS ConditionsJS SwitchJS Loop ForJS Loop WhileJS BreakJS Type ConversionJS BitwiseJS RegExpJS ErrorsJS ScopeJS HoistingJS Strict ModeJS this KeywordJS LetJS ConstJS Arrow FunctionJS DebuggingJS Style GuideJS Best PracticesJS MistakesJS PerformanceJS Reserved WordsJS VersionsJS Version ES5JS Version ES6JS JSON

Comparing Different Types

Comparing data of different types may give unexpected results.

When comparing a string with a number, JavaScript will convert the string to a number when doing the comparison. An empty string converts to 0. A non-numeric string converts to which is always .

Case Value Try
2 < 12 true Try it »
2 < «12» true Try it »
2 < «John» false Try it »
2 > «John» false Try it »
2 == «John» false Try it »
«2» < «12» false Try it »
«2» > «12» true Try it »
«2» == «12» false Try it »

When comparing two strings, «2» will be greater than «12», because (alphabetically) 1 is less than 2.

To secure a proper result, variables should be converted to the proper type before comparison:

age = Number(age); if (isNaN(age)) {   voteable = «Input is not a number»; } else {   voteable = (age < 18) ? «Too young» : «Old enough»; }

Definition and Usage

The if/else statement executes a block of code if a specified condition is true. If the condition is false, another block of code can be executed.

The if/else statement is a part of JavaScript’s «Conditional» Statements, which are used to perform different actions based on different conditions.

In JavaScript we have the following conditional statements:

  • Use if to specify a block of code to be executed, if a specified condition is true
  • Use else to specify a block of code to be executed, if the same condition is false
  • Use else if to specify a new condition to test, if the first condition is false
  • Use switch to select one of many blocks of code to be executed

The For Loop

The loop has the following syntax:

for (statement 1; statement 2; statement 3) {   // code block to be executed }

Statement 1 is executed (one time) before the execution of the code block.

Statement 2 defines the condition for executing the code block.

Statement 3 is executed (every time) after the code block has been executed.

Example

for (i = 0; i < 5; i++) {   text += «The number is » + i + «<br>»; }

From the example above, you can read:

Statement 1 sets a variable before the loop starts (var i = 0).

Statement 2 defines the condition for the loop to run (i must be less than 5).

Statement 3 increases a value (i++) each time the code block in the loop has been executed.

Логические операторы в JavaScript

Логические операторы используются для объединения двух или более условий. JavaScript включает в себя следующие логические операторы.

&& называется оператором И (AND). Он проверяет, являются ли два операнда не равными нулю (0, ложь, неопределенность (Undefined), null или «» рассматриваются как ноль), если да, то возвращает 1, иначе 0.
|| известен как оператор ИЛИ (OR). Он проверяет, является ли любой из двух операндов не равным нулю (0, false, undefined, null или «» рассматривается как ноль).
! известен как оператор НЕ (NOT). Он инвертирует логический результат операнда (или условия).
var a = 5, b = 10;

(a != b) && (a < b); // возвращает true
(a > b) || (a == b); // возвращает false
(a < b) || (a == b); // возвращает true
!(a < b); // возвращает false
!(a > b); // возвращает true

Оператор if/else


Оператор if — это базовый управляющий оператор, позволяющий интерпретатору JavaScript принимать решения или, точнее, выполнять операторы в зависимости от условий. Оператор if имеет две формы. Первая:

if (выражение) 
   оператор

В этой форме сначала вычисляется выражение. Если полученный результат является истинным, то оператор выполняется. Если выражение возвращает ложное значение, то оператор не выполняется. Например:

Обратите внимание, что скобки вокруг условного выражения являются обязательной частью синтаксиса оператора if. Вторая форма оператора if вводит конструкцию else, выполняемую в тех случаях, когда выражение возвращает ложное значение

Ее синтаксис:

Вторая форма оператора if вводит конструкцию else, выполняемую в тех случаях, когда выражение возвращает ложное значение. Ее синтаксис:

if (выражение) 
   оператор1
else
   оператор2

Эта форма выполняет оператор1, если выражение возвращает истинное значение, и оператор2, если выражение возвращает ложное значение. Например:

Syntax

The if statement specifies a block of code to be executed if a condition is true:

if (condition) {  // block of code to be executed if the condition is true}

The else statement specifies a block of code to be executed if the condition is false:

if (condition) {  // block of code to be executed if the condition is true} else {   // block of code to be executed if the condition is false}

The else if statement specifies a new condition if the first condition is false:

if (condition1) {  // block of code to be executed if condition1 is true} else if (condition2) {  // block of code to be executed if the condition1 is false and condition2 is true } else {  // block of code to be executed if the condition1 is false and condition2 is false}

Comparison Operators

Comparison operators are used in logical statements to determine equality or difference between variables or values.

Given that , the table below explains the comparison operators:

Operator Description Comparing Returns Try it
== equal to x == 8 false Try it »
x == 5 true Try it »
x == «5» true Try it »
=== equal value and equal type x === 5 true Try it »
x === «5» false Try it »
!= not equal x != 8 true Try it »
!== not equal value or not equal type x !== 5 false Try it »
x !== «5» true Try it »
x !== 8 true Try it »
> greater than x > 8 false Try it »
< less than x < 8 true Try it »
>= greater than or equal to x >= 8 false Try it »
<= less than or equal to x <= 8 true Try it »

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

Тернарный оператор ?: — это единственный тернарный (с тремя операндами) оператор в JavaScript. Этот оператор обычно записывается как ?:, хотя в программах он выглядит по-другому. Он имеет три операнда, первый предшествует символу ?, второй — между ? и :, третий — после :. Используется он следующим образом:

Операнды условного оператора могут быть любого типа. Первый операнд вычисляется и используется как логическое значение. Если первый операнд имеет истинное значение, то вычисляется и возвращается значение выражения во втором операнде. Если первый операнд имеет ложное значение, то вычисляется и возвращается значение выражения в третьем операнде. Вычисляется всегда только какой-то один операнд, второй или третий, и никогда оба.

Тот же результат можно получить с помощью оператора if, но оператор ?: часто оказывается удобным сокращением. Ниже приводится типичный пример, в котором проверяется, определена ли переменная (и имеет истинное значение), и если да, то берется ее значение, а если нет, берется значение по умолчанию:

Эта проверка эквивалентна следующей конструкции if, но более компактна:

Операторы

JavaScript поддерживает следующие операторы:

Арифметические

Простые , а также деление по модулю и возведение в степень .

Бинарный плюс объединяет строки. А если одним из операндов является строка, то второй тоже будет конвертирован в строку:

Операторы присваивания

Простые и составные .

Битовые операции

Битовые операторы работают с 32-битными целыми числами на самом низком, побитовом уровне. Подробнее об их использовании можно прочитать на ресурсе MDN.

Условный оператор

Единственный оператор с тремя параметрами: . Если условие истинно, возвращается , иначе – .

Логические операторы

Логические И , ИЛИ используют так называемое «ленивое вычисление» и возвращают значение, на котором оно остановилось (не обязательно или ). Логическое НЕ конвертирует операнд в логический тип и возвращает инвертированное значение.

Сравнение

Проверка на равенство значений разных типов конвертирует их в число (за исключением и , которые могут равняться только друг другу), так что примеры ниже равны:

Другие операторы сравнения тоже конвертируют значения разных типов в числовой тип.

Оператор строгого равенства не выполняет конвертирования: разные типы для него всегда означают разные значения.

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

Операторы сравнения больше/меньше сравнивают строки посимвольно, остальные типы конвертируются в число.

Другие операторы

Существуют и другие операторы, такие как запятая.

Подробности: Операторы, Операторы сравнения, Логические операторы.


С этим читают