* Оператор if-else и условия за сравнение
Публикувано на 05 септември 2009 в раздел ХHTML.
Може би най-често използвания оператор е if-else. Чрез него се прави т.нар. "разделяне" на програмен код на две части. Синтаксисът му е следния:
if (<условие>){ <javascript код 1> } else{ <javascript код 2> }
Условието винаги връща резултат true (вярно) или false (невярно). Логиката е, че ако условието е вярно, то ще се изпълни код 1 в първите скоби, а ако не е вярно, то ще се изпълни код 2 от вторите скоби след else.
Ето един елементарен пример:
<script type="text/javascript"> var x = 5; var y = 6; if (x>y){ document.write("x>y"); } else{ document.write("x<=y"); } </script>
Виждате, че в условието използвахме оператор за сравнение (проверихме дали x е по-голямо от y). Естествено ние сме свикнали да използваме такива от математиката и ги използваме ежедневно - по-голямо, по-малко, равно, по-голямо или равно, и т.н.
Нека имаме две променливи x и y с дадени стойности. В JavaScript разполагаме със следните оператори за сравнение:
- x == y: сравнява дали стойностите на променливите са равни. Ако те са - връща true, в противен случай - false;
- x === y: отново сравнява стойностите на променливите за равенство, но тук освен това ги сравнява по тип на данните. Това означава, че ако x е числото 5, а y е символен низ "5", то резултатът ще бъде false. При първия оператор за сравнение за равенство това не е така;
- x != y: обратното на сравнение за равенство - връща true ако стойностите НЕ са равни и false ако са равни;
- x > y: сравнение "по-голямо";
- x < y: сравнение "по-малко";
- x >= y: сравнение "по-голямо или равно";
- x <= y: сравнение "по-малко или равно".
За всеки начинаещ се явява проблем да свикне с често използвания оператор "==". Това е психологическо наследство от математиката, където за равенство се използва само веднъж символа "=". В програмирането и JavaScript в частност "x = 5" и "x == 5" са две напълно различни неща!
Възможно е условието да бъде комбинирано. Затова спомагат т.нар. логически оператори. Те са общо три на брой:
- && : логически оператор "и";
- || : логически оператор "или";
- ! : логически оператор "отрицание".
Например ако имаме две променливи x и y и искаме да проверим дали двете заедно са по-големи от нула, то бихме могли да напишем условието като: if ( (x>0) && (y>0) ){...}. Ако пък желаем поне едината (но не задължително и двете) променлива да бъде по-голяма от нула, то бихме написали if ( (x>0) || (y>0) ){...}. Отрицанието пък обръща резултата. Например !(x>0) е еквивалентно на (x<=0). За повече информация за логическите оператори прочетете следната статия: съждения. Логическия оператор && отговаря на "конюнкция", || отговаря на дизюнкция, а ! е обозначено по същия начин като "отрицание". Другите логически оператори от предложената статия не са налични в JavaScript.
Добави коментар