|
@@ -174,8 +174,81 @@ var isYoung = age > 16 && age < 30 // человек молод от 16 до 3
|
|
|
### Порядок выполнения логических выражений
|
|
|
|
|
|
Логические выражения выполняются *оптимальным способом* слева направо. То есть, если в **ИЛИ** попался `true`, то следующая часть выражения даже не
|
|
|
-будет обрабатываться. **ИЛИ** ищет `true`.
|
|
|
+будет обрабатываться. **ИЛИ** ищет `true`, и, когда находит, экономит ресурсы компьютера, *сразу же* возвращая true как результат выражения.
|
|
|
|
|
|
**И**, напротив, "ищет" `false`. То есть, если найден `false`, то нет смысла далее обрабатывать выражение - оно, так или иначе, будет `false`.
|
|
|
|
|
|
Рассмотрим на [примерах](https://jsfiddle.net/qrjarv4m/13/)
|
|
|
+
|
|
|
+### `if` `else`
|
|
|
+
|
|
|
+Любое значение, которое может быть приведено к типу `Boolean` может стать условием для условного оператора `if-else`:
|
|
|
+
|
|
|
+```javascript
|
|
|
+var age = prompt("Сколько вам лет?","");
|
|
|
+if (+age < 18){
|
|
|
+ alert("Рано вам еще");
|
|
|
+}
|
|
|
+else {
|
|
|
+ alert("Смотрите на здоровье");
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+```javascript
|
|
|
+var age = +prompt("Сколько вам лет?","");
|
|
|
+if (+age < 18){
|
|
|
+ alert("школьник");
|
|
|
+}
|
|
|
+else if (age > 18 && age < 30){
|
|
|
+ alert("молодеж");
|
|
|
+}
|
|
|
+else if (age > 30 && age < 45){
|
|
|
+ alert("зрелость");
|
|
|
+}
|
|
|
+else if (age > 45 && age < 60){
|
|
|
+ alert("закат");
|
|
|
+}
|
|
|
+else if (age > 60){
|
|
|
+ alert("как пенсия?");
|
|
|
+}
|
|
|
+else {
|
|
|
+ alert("то ли киборг, то ли ошибка"); }
|
|
|
+```
|
|
|
+
|
|
|
+```javascript
|
|
|
+var str = prompt("Поговори со мной!!!!","");
|
|
|
+if (str){
|
|
|
+ alert("Ты такой милый " + str);
|
|
|
+}
|
|
|
+else {
|
|
|
+ alert("Козёл!!!!!11");
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+### Тернарный оператор
|
|
|
+
|
|
|
+Данный оператор позволяет сократить пару `if-else` в некоторых условиях:
|
|
|
+
|
|
|
+```javascript
|
|
|
+var text = confirm("Нажмите что-нибудь") ? "Вы нажали Yes" : "Вы нажали No";
|
|
|
+alert(text);
|
|
|
+```
|
|
|
+
|
|
|
+### `switch`
|
|
|
+
|
|
|
+`switch` позволяет выполнять определенные блоки кода в зависимости от значения выражения:
|
|
|
+
|
|
|
+```javascript
|
|
|
+var color = prompt("Введите цвет","");
|
|
|
+switch (color){
|
|
|
+ case "red": document.write("<div style='background-color: red;'>красный</div>");
|
|
|
+ break;
|
|
|
+ case "black": document.write("<div style='background-color: black; color: white;'>черный</div>");
|
|
|
+ break;
|
|
|
+ case "blue": document.write("<div style='background-color: blue;'>синий</div>");
|
|
|
+ break;
|
|
|
+ case "green": document.write("<div style='background-color: green;'>зеленый</div>");
|
|
|
+ break;
|
|
|
+ default: document.write("<div style='background-color: gray;'>Я не понял</div>");
|
|
|
+}
|
|
|
+```
|