Операторы

Содержание:

if statement

The if statement is the fundamental control statement that allows JavaScript to make decisions and execute statements conditionally.

Syntax

The syntax for a basic if statement is as follows −

if (expression) {
   Statement(s) to be executed if expression is true
}

Here a JavaScript expression is evaluated. If the resulting value is true, the given statement(s) are executed. If the expression is false, then no statement would be not executed. Most of the times, you will use comparison operators while making decisions.

Example

Try the following example to understand how the if statement works.

<html>
   <body>     
      <script type = "text/javascript">
         <!--
            var age = 20;
         
            if( age > 18 ) {
               document.write("<b>Qualifies for driving</b>");
            }
         //-->
      </script>      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

Одиночные проверки

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

let x = 4, y = true, z = false;
if(x) console.log("x = " + x + " дает true");
if(!) console.log("0 дает false");
if("0") console.log("строка 0 дает true");
if(!"") console.log("пустая строка дает false");
if(y) console.log("y = true дает true");
if(!z) console.log("z = false дает false");

Вот этот
восклицательный знак – это отрицание – НЕ, то есть, чтобы проверить, что 0 –
это false мы
преобразовываем его в противоположное состояние с помощью оператора отрицания
НЕ в true и условие
срабатывает. Аналогично и с переменной z, которая равна false.

Из этих примеров
можно сделать такие выводы:

  1. Любое число,
    отличное от нуля, дает true. Число 0 преобразуется в false.

  2. Пустая строка –
    это false, любая другая
    строка с символами – это true.

  3. С помощью
    оператора НЕ можно менять условие на противоположное (в частности, false превращать в true).

Итак, в условиях
мы можем использовать три оператора: &&, || и !. Самый высокий
приоритет у операции НЕ, следующий приоритет имеет операция И и самый маленький
приоритет у операции ИЛИ.

Вот так работает
оператор if в JavaScript.

JavaScript Keywords

JavaScript statements often start with a keyword
to identify the JavaScript action to be performed.

Visit our Reserved Words reference to view a full list of
JavaScript keywords.

Here is a list of some of the keywords you will learn about in
this tutorial:

Keyword Description
break Terminates a switch or a loop
continue Jumps out of a loop and starts at the top
debugger Stops the execution of JavaScript, and calls (if available) the debugging
function
do … while Executes a block of statements, and repeats the block, while a condition is
true
for Marks a block of statements to be executed, as long as a condition is true
function Declares a function
if … else Marks a block of statements to be executed, depending on a condition
return Exits a function
switch Marks a block of statements to be executed, depending on different cases
try … catch Implements error handling to a block of statements
var Declares a variable

JavaScript keywords are reserved words. Reserved words cannot be used as names for variables.

Термины: «унарный», «бинарный», «операнд»

Прежде, чем мы двинемся дальше, давайте разберёмся с терминологией.

  • Операнд – то, к чему применяется оператор. Например, в умножении есть два операнда: левый операнд равен , а правый операнд равен . Иногда их называют «аргументами» вместо «операндов».

  • Унарным называется оператор, который применяется к одному операнду. Например, оператор унарный минус меняет знак числа на противоположный:

  • Бинарным называется оператор, который применяется к двум операндам. Тот же минус существует и в бинарной форме:

    Формально мы говорим о двух разных операторах: унарное отрицание (один операнд: меняет знак) и бинарное вычитание (два операнда: вычитает).

The else if Statement

Use the statement to specify a new condition if the first condition is false.

Syntax

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}

Example

If time is less than 10:00, create a «Good
morning»
greeting, if not, but time is less than 20:00, create a «Good day» greeting,
otherwise a «Good evening»:

if (time < 10) {
  greeting = «Good morning»;
}
else if (time < 20) {
  greeting = «Good day»;
}
else {
  greeting = «Good evening»;
}

The result of greeting will be:

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

Comparison Operators

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

Given that x = 5, 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 »
=== equal value and equal type x === «5» false Try it »
x === 5 true Try it »
!= not equal x != 8 true Try it »
!== not equal value or not equal type x !== «5» true Try it »
x !== 5 false 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 »

For a tutorial about comparison operators, read our
JavaScript
Comparisons Tutorial.

Переход к следующей итерации: continue

Директива – «облегчённая версия» . При её выполнении цикл не прерывается, а переходит к следующей итерации (если условие все ещё равно ).

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

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

Для чётных значений , директива прекращает выполнение тела цикла и передаёт управление на следующую итерацию (со следующим числом). Таким образом вызывается только для нечётных значений.

Директива позволяет избегать вложенности

Цикл, который обрабатывает только нечётные значения, мог бы выглядеть так:

С технической точки зрения он полностью идентичен. Действительно, вместо можно просто завернуть действия в блок .

Однако мы получили дополнительный уровень вложенности фигурных скобок. Если код внутри более длинный, то это ухудшает читаемость, в отличие от варианта с .

Нельзя использовать справа от оператора „?“

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

Например, если мы возьмём этот код:

…и перепишем его, используя вопросительный знак:

…то будет синтаксическая ошибка.

Это ещё один повод не использовать оператор вопросительного знака вместо .

Сравнение разных типов данных

При сравнении
значений разных типов JavaScript приводит каждое из них к числу. Например:

console.log( '2' > 1 ); // true, строка '2' становится числом 2
console.log( '01' == 1 ); // true, строка '01' становится числом 1

При сравнении
булевых значений:

console.log( true == 1 ); // true (true приводится к 1)
console.log( false ==  ); // true (false приводится к 0)
console.log( null == undefined ); // true (обе величины приводятся к 0)

Однако, при
использовании сравнения с помощью операторов <, >, <=, >= всюду
получим false:

console.log( null >= undefined );  // false (null – к нулю, undefined – к NaN)
console.log( null <= undefined );  // false (null – к нулю, undefined – к NaN)

Внимание!
Странное сравнение null с нулем:

console.log( null >  );  // (1) false
console.log( null ==  ); // (2) false
console.log( null >=  ); // (3) true

Это просто нужно
иметь в виду при программировании логики скриптов.

if…else if… statement

The if…else if… statement is an advanced form of if…else that allows JavaScript to make a correct decision out of several conditions.

Syntax

The syntax of an if-else-if statement is as follows −

if (expression 1) {
   Statement(s) to be executed if expression 1 is true
} else if (expression 2) {
   Statement(s) to be executed if expression 2 is true
} else if (expression 3) {
   Statement(s) to be executed if expression 3 is true
} else {
   Statement(s) to be executed if no expression is true
}

There is nothing special about this code. It is just a series of if statements, where each if is a part of the else clause of the previous statement. Statement(s) are executed based on the true condition, if none of the conditions is true, then the else block is executed.

Example

Try the following code to learn how to implement an if-else-if statement in JavaScript.

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var book = "maths";
            if( book == "history" ) {
               document.write("<b>History Book</b>");
            } else if( book == "maths" ) {
               document.write("<b>Maths Book</b>");
            } else if( book == "economics" ) {
               document.write("<b>Economics Book</b>");
            } else {
               document.write("<b>Unknown Book</b>");
            }
         //-->
      </script>      
      <p>Set the variable to different value and then try...</p>
   </body>
<html>

Оператор if — else if — else

После блока if, может последовать один и больше блоков else if, и в конце уже блок else. Это удобно в случае, когда нужно использовать больше чем одно условие.

Для лучшего понимания возьмем какой-то пример из повседневной жизни. Например, у нас есть определенное кол-во розеток. Если у нас в комнате только одна розетка, то мы можем подключить только одно устройство, если две розетки то мы можем подключить две устройства и если больше, то мы можем подключить к электрической сети, все устройства из дома.

Теперь перейдем к программированию.

var socket = 2; // Кол-во розеток в доме
if( socket == 1)  document.write("<p>Мы можем подключить только одно устройство</p>");
else if( socket == 2){
    document.write("<p>Мы можем подключить только две устройства</p>");
    document.write("<p>Например телевизор и ноутбук</p>");
}else{
    document.write("<p>Мы можем подключить к электрической сети все устройства из дома</p>");
}

В зависимости от значения переменной socket, сработает тот или иной блок кода. Как Вы уже наверняка поняли, что если socket равен 1, то сработает первый блок кода. Если socket равен 2, то сработает второй блок кода и если socket имеет любое другое значение (даже отрицательное число) то сработает третий блок кода.

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

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *