Урок 12. Логические значения в JavaScript
Теория
Суть приемов: различные логические операции типа >, <, ==, ===, != могут использоваться не только в ифах, но и сами по себе. Пример:
a=4,b=3,c=a>b;document.write(c)//в переменную c запишется true
Можно также делать комбинации с логическим И && и ИЛИ||:
a=3,b=4,c=a<8&&b<8;document.write(c)
Логические операции без ифов
Пусть у нас есть функция с ифом. Вот она:
function f(a,b){if(a>b){return true}else{return false}}
Ее можно переписать гораздо проще:
function f(a,b){return a>b}
Логическое ИЛИ
Логическое ИЛИ||работает немного не так. Пример:
c=false||5;//в c запишется 5
c=5||false;//в c запишется 5
c=5||4;//в c запишется 5
c=4||5//в c запишется 4
Вместо false может быть пустая строка, 0, undefined, null, или вообще любое значение, которое в логическом контексте является false.
Таким образом с помощью||можно сделать выбор между 2 значениями. Если 1 из них false или приводится к нему, то в переменную будет записано 2-е.
Практика
Сделать функцию, которая параметрами принимает 2 числа. Если эти числа равны, пусть функция вернет true, а если не равны, - false.
a=8,b=8,c=a==b;document.write(c)//в переменную c запишется true
a=8,b=3,c=a==b;document.write(c)
Сделать функцию, которая параметрами принимает 2 числа. Если их сумма больше 8, пусть функция вернет true, а если нет, - false.
a=8,b=8,c=(a+b)>8;document.write(c)//в переменную c запишется true
a=3,b=3,c=(a+b)>8;document.write(c)
Сделать функцию, которая параметром принимает число и проверяет, положительное оно или нет. Если положительное, пусть функция вернет true, а если нет, - false.
a=8,b=a>0;document.write(b)//в переменную b запишется true
a=-8,b=a>0;document.write(b)