Булеви изрази
Публикувана от smilev на January 12 2011 09:21:49

Разширена новина
Например при сравнение дали променливата а е по-голяма от променливата b се връща резултат true, ако е истина или false ако не е истина.
Ето списък на булевите изрази :

x==y ако x е равно на y стойноста е true
x!=y ако x не е равно на y стойноста е true
x<y ако x е по-малко от y стойноста е true
x<=y ако x е по-малко или равно на y стойноста е true
x>y ако x е по-голямо от y стойноста е true
x>=y ако x е по-голямо или равно на y стойноста е true
!x ако x е false, връща стойност true
x&&y ако x и y са едновременно true, връща стойност true
x||y ако x или y е true връща стойност true

Булевите изрази обикновено са част от операторите за условно изпълнение if...else... Синтаксиса на условните оператори е следния :

if (условие)
оператор1
else
оператор 2

Смисълът на този оператор е следния : Ако(if) е изпълнено условието, тогава се изпълнява оператор1, иначе(else) се изпълнява оператор 2.
Нека сега да направим примера от предишната страница така, че да се проверява дали рожденната дата не е преди 1900 година и след 2000 година:

<HTML>
<HEAD>
<TITLE>javascript</TITLE>
<HEAD>
<BODY>
<SCRIPT LANGUAGE="javascript">
<!--
var year=prompt("Въведете година на раждане","1980")
if (year<1900)
document.write("На Вашата възраст не бих седял пред компютъра")
else
if (year>2000)
document.write("Още нероден, а вече гений!!!")
else {
old=2010-year
document.write("През 2010 година Вие ще бъдете на "+old+" години")
}
//-->
</SCRIPT>
</BODY>
</HTML>

От примера виждате, че условните оператори могат да се влагат един в друг. Първо проверяваме дали въведената година не е по-малка от 1900 и ако е така, изписваме съответното съобщение. Ако условието не отговаря правим втора проверка дали годината е по-голяма от 2000. Ако това условие отговаря на истината се изкарва друго съобщение. Ако не отговаря на истината се счита че годината е между 1900 и 2000 и се изкарва трето съобшение.
Обърнете внимание, че ако операторите които се изпълняват след условието са повече от един се заграждат с фигурни скоби { }. Когато оператора е само един може и без скоби :

if (year<1900)
document.write("На Вашата възраст не бих седял пред компютъра")

.....

if (year<1900) {
document.write("На Вашата възраст не бих седял пред компютъра")
a=10
document.write(a)
}

В някои случаи операторът else може да бъде пропуснат. Тогава скрипта ще се изпълнисамо ако е вярно поставеното условие, иначе няма да се изпълни.

var x=prompt("въведете положително или отрицателно число")
if (x<0) {
x=-x
}
document.write(x)

Този скрипт ви подканва да въведете положително или отрицателно число, след което прави проверка дали числото е отрицателно (x<0) и ако е така го преобразува в положително (x=-x обръща знака на променливата x) и накрая го показва на екрана.