Условия в Javascript

В этом видео мы разберем с вами операторы условия, а именно if и else.

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

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

if  {

}

If условие всегда начинается с слова if в нижнем регистре. После него идут круглые скобки, в которых мы можем написать какое-то выражение. Если результат в круглых скобках будет true, то дальше выполнится все, что написано в фигурных скобках. Если же результат будет false, то все, что написано внутри фигурных скобок вообще не выполнится.

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

var name = 'Alex'

if () 

Теперь давайте напишем условие внутри круглых скобок

var name = 'Alex'

if (name == 'Alex') 

То есть мы пишем внутри круглых скобок нашу переменную name, а дальше ==. == Это специальный оператор, который сравнивает равняется ли левая часть правой части. И возвращает true или false. И справа пишем то, с чем мы хотим сравнить.

Нужно помнить, что = и == это два абсолютно разных оператора. И они не имеют ничего общего между собой и не нужно их путать. Одно равно — это оператор присвоения, а два равно — это оператор сравнения.

Так как мы знаем, что в этом случае наше сравнение вернет true, то будет выполнен код внутри.

var name = 'Alex'

if (name == 'Alex') {
  document.write('My name is Alex')
}

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

Если же мы изменим имя Alex на другое, то тогда код внутри нашего if не выполнится.

Что же делать, если мы хотим сделать что-то, когда наше условие не выполнилось?

Для этого нам поможет оператор else. Else всегда расположен прямо под if.

var name = 'Mike'

if (name == 'Alex') {
  document.write('My name is Alex')
} else {
  document.write('My name is not Alex')
}

В else нет ничего, кроме фигурных скобок, так как мы всегда выполняем else, если условие в if не сработало.

Если мы посмотрим в браузер, то увидим, что у нас вывелось сообщение из else.

Нужно помнить, что else не может существовать без if, но он не обязателен и if может отлично работать без else.

Что же нам делать, если у нас будет больше одного условия? Например мы хотим, если имя Alex, выполнить что-то одно, если имя Mike, что-то другое, а если не выполнились эти условия, то что-то третье.

Для этого нам нужно else if условие. Его нужно ставить сразу под if условием и оно будет выглядеть так

var name = 'Mike'

if (name == 'Alex') {
  document.write('My name is Alex')
} else if (name === 'Mike') {
  document.write('My name is Mike')
} else {
  document.write('My name is not Alex')
}

Как вы видите, else if выглядит почти так же, как и if, то является вторым условием в этом коде.

Нужно также помнить о том, что else if может быть написан только, если у нас есть if. Сам по себе он существовать не может.

Если мы посмотрим в браузер, то увидим, что у нас сработало второе условие.

В наш код мы можем добавлять сколько угодно условий. Давайте добавим еще одно

var name = 'Mike'

if (name == 'Alex') {
  document.write('My name is Alex')
} else if (name === 'Mike') {
  document.write('My name is Mike')
} else if (name === 'John') {
  document.write('My name is John')
} else {
  document.write('My name is not Alex')
}

и их можно добавлять бесконечно.

Как же javascript выполняет этот код?

  1. Он смотрит возвращает ли первое условие true, если да, то выполняет то что в скобках и дальше не делает никаких проверок
  2. Если первое условие false, то он идет проверять первый else if, если он true, то выполняет его и пропускает остальные
  3. И так он идет по всем else if, пока не найдет тот, который вернет true.
  4. Если же ни один из них не вернет true, то он идет в else и выполняет его.

Условия используются в javascript на каждом шагу, поэтому их нужно хорошо знать и понимать.

Если у вас возникли какие-то вопросы или комментарии, пишите их прямо под этим видео.

monsterlessons.com

Справочник javascript: Операторы сравнения

Описание, примеры

Операндами операторов сравнения могут быть численные и строковые значения. Строки сравниваются, исходя из стандартного лексикографического порядка при использовании Unicode.

Яваскрипт допускает как строгое сравнение, так и сравнение с приведением типов. Для строгого сравнения оба операнда должны иметь одинаковый тип и:

  • Две строки строго равны, если состоят из одинаковой последовательности символов
  • Два числа строго равны, если равны в обычном смысле слова. +0 строго равен -0.
  • NaN строго не равно ничему, включая NaN
  • Два булевых операнда строго равны, если они оба true или false
  • Два операнда-объекта строго равны, если являются ссылками на один и тот же общий объект
  • Null и Undefined равны ==, но не строго равны ===

Следующая таблица описывает операторы сравнения:

ОператорОписаниеПримеры, возвращающие true при var1=3, var2=4
Равно (==)Если два операнда не одного типа, javascript преобразовывает типы и сравнивает строго. Если какой-либо операнд — число или булево значение, то операнды преобразуются в числа; если какой-либо операнд строка — второй преобразуются в строку

3 == var1
"3" == var1
3 == '3'

Не равно (!=)
Возвращает true, если операнды не равны. Если операнды имеют разный тип, javascript преобразовывает.

var1 != 4
var1 != "5"

Строго равно (===)Возвращает true, если операнды строго равны (см. выше), без преобразования типов.

3 === var1

Строго не равно (!==)Возвращает true, если операнды не являются строго равными (см. выше) или имеют разные типы.

var2 !== 3
3 !== '3'

Больше (>)Возвращает true
, если левый операнд больше правого.

var2 > var1

Больше или равно (>=)Возвращает true, если левый операнд больше правого или равен ему.

var2 >= var1
var1 >= 3

Меньше (<)Возвращает true, если левый операнд меньше правого.

var1 < var2

Меньше или равно (<=)Возвращает true, если левый операнд меньше правого или равен ему.

var1 <= var2
var2 <= 5

Использование операторов сравнения

Стандартные операторы равенства (== и !=) сравнивают два операнда безотносительно их типа. Строгое равенство (=== и !==) производит сравнения операндов одинакового типа. Используйте строгое равенство, если операнды должны иметь одинаковый тип и значение. В ином случае, используйте обычные операторы равенства, которые позволяют проверить равенство операндов, даже если они разного типа.

При конвертации типов яваскрипт преобразует String, Number, Boolean и Object следующим образом:

  • При сравнении числа и строки, строка преобразуется в числовое значение. Яваскрипт при этом получает значение числа из строкового литерала: "123" == 123.
  • Если од

javascript.ru

JavaScript условия, инструкция break | СисТема

Хорошо, скажет заказчик. В файле 3 слова, и скрипт работает по ним, а если поставить 5 или 10 000? Тогда нужно лезть в код и править количество циклов? Ну конечно это будет неправильно. Тут мы должны доработать скрипт таким образом, чтоб он перебирал строки до тех пор, пока не появится пустая. После этого мы должны видеть сообщение, что перебор строк закончился по причине отсутствия строк. Для этого нужно написать примерно такое условие: Выбираем строку, проверяем ее, если она не пустая значит продолжаем работу, а если пустая то останавливаем перебор и выводим сообщение «Строки закончились перебрали n строк».

Для выполнения условий в джаваскрипте присутствует такая конструкция:

if(zapros!=null){ //если условие верно выполняется этот код } else { // иначе (если условие не верно), выполнять то что в этих скобках }

if(zapros!=null){

//если условие верно выполняется этот код

}

else {

// иначе (если условие не верно), выполнять то что в этих скобках

}

Тут все понятно из самого кода, но давайте разберем первую строку. Знак != это оператор сравнения. Он обозначает НЕравно, соответственно равно выглядит так ==(или так ===). Значение null  обозначают пустоту, то есть в выбранной строке ничего нет. Дословно выходит: Если в переменной zapros содержится НЕпустая строка, тогда работаем, иначе делаем то что в скобках else.

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

for (i=1;1<2;i++){//создаем переменную i, цикл вечный var macro; // создаем переменную macro macro = «CODE:»; // говорим нашему скрипту что в нее впишем код аймакрос macro += «SET !DATASOURCE C:\\iMacros\\Macros\\Обучение\\zapros.txt» + «\n»; // подключаем текстовый файл macro += «SET !DATASOURCE_LINE «+i+ «\n»;// из какой по счету строки брать данные macro += «ADD !EXTRACT {{!COL1}}» + «\n»; // берем данные в переменную {{!COL1}} iimPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали. var zapros = iimGetLastExtract(1)// создаем переменную zapros в которую помещаем EXTRACT if(zapros!=null){ iimDisplay(‘строка ‘+ i +’ запрос ‘+ zapros) // macro += «URL GOTO=https://www.youtube.com/?gl=UA&hl=ru» + «\n»; // заходим на ютуб macro += «TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT={{!COL1}}» + «\n»; // вбиваем в поиск данные из переменной macro += «TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn» + «\n»; // нажимаем поиск iimPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали. } else { iimDisplay(‘Cтрока пуста, прошли строк: ‘+ (i-1)) break } }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

for (i=1;1<2;i++){//создаем переменную i, цикл вечный

var macro; // создаем переменную macro

macro = «CODE:»; // говорим нашему скрипту что в нее впишем код аймакрос

macro += «SET !DATASOURCE C:\\iMacros\\Macros\\Обучение\\zapros.txt» + «\n»; // подключаем текстовый файл

macro += «SET !DATASOURCE_LINE «+i+ «\n»;// из какой по счету строки брать данные

macro += «ADD !EXTRACT {{!COL1}}» + «\n»; // берем данные в переменную {{!COL1}}

iimPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали.

var zapros = iimGetLastExtract(1)// создаем переменную zapros в которую помещаем EXTRACT

 

if(zapros!=null){

iimDisplay(‘строка   ‘+ i +’   запрос ‘+ zapros) //

macro += «URL GOTO=https://www.youtube.com/?gl=UA&hl=ru» + «\n»; // заходим на ютуб

macro += «TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT={{!COL1}}» + «\n»; // вбиваем в поиск данные из переменной

macro += «TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn» + «\n»; // нажимаем поиск

iimPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали.

}

 

else {

iimDisplay(‘Cтрока пуста,  прошли строк: ‘+ (i-1))

break

}

 

}

И так по строкам. Строка первая указывает что цикл вечный, потому что 1 всегда меньше 2.

Строка 10 ставит условие, которое мы уже разобрали. Если условие не выполняется прогрмма перепрыгивает на строки 18,19,20.

То есть выводит на экран сообщение

‘Cтрока пуста, прошли строк: ‘+ (i-1)

‘Cтрока пуста,  прошли строк: ‘+ (i-1)

и обратите внимание, от переменной i мы отняли 1. Это потому что нужно указать сколько успешно пройденных циклов, а так как строка у нас пуста, то по факту циклов у нес всегда будет меньше на 1. Для того чтоб программа поняла что мы отнимаем еденицу, выражение (i-1) берем в скобки.

В строке 20 вы заметили новую команду:

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

Теперь наш файлик стал универсальным. Мы можем добавлять любое количество ключевых запросов, и можем быть спокойны что скрипт пройдет по всем.

Ну что же, если вы разобрали все строки, и немного поняли как работает эта схема, то вас можно поздравить. Вы прошли 2/3 пути к озарению. Остался совсем маленький рывок. И он самый интересный. Не пугайтесь что в коде написано так много, его можно существенно упростить. И это вы будете делать сами, когда пройдете весь материал.

Перейти к следующему уроку!

Поделиться ссылкой:

sistem.in.ua