JavaScript - От А до Я (част втора)
Java Script съдържа пълен набор от оператори за сравнение, присвояване, логически и аритметични операции. Операторите за сравнение са :


Оператор Действие
== Равенство
!= Неравенство
< По-малко
> По-голямо
<= По-малко или равно
>= По-голямо или равно


Както забелязвате оператора за равенство е == , а за присвояване се използва оператора =. Следват аритметичните и логическите оператори:


Оператор Действие
Аритметични оператори
+ Събиране
- Изваждане
* Умножение
/ Деление
% Делене по модул
++ Инкрементиране
-- Декрементиране
- Отрицание
Логически оператори
! НЕ(NOT - лог.отрицание)
&& И(AND - лог.умножение)
|| ИЛИ(OR - лог.събиране)


Операторите ++, -- и - са унарни оператори оператори (действат върху един операнд). Тези операции могат да се запишат по два начина : x++ и ++x. Разликата е, че в първия случай (прилагане на операцията след операнда) и първо се връща стойноста и след това се прилага операцията. Обратно, във втория запис (прилагане на операцията след операнда) - първо се изпълнява операцията и след това се връща, вече новата стойност на операнда. Другите разгледани оператори са бинарни, защото действат върху два операнда (това са величините върху, които действа операцията). Оператора за присвояване ( = ) може да се комбинира с аритметичните и логическите оператори. Това е показано в следващата таблица :


Комбинация Еквивалентен израз
x + = y x = x + y
x - = y x = x - y
x * = y x = x * y
x / = y x = x / y
x % = y x = x % y


Реда за изпълнение на операциите в Java Script е следния:

o скоби ()
o умножение и деление
o събиране и изваждане
o ако участват операции с еднакъв приоритет израза са изпълнява отляво надясно.



Следва пример за използването на тези оператори:


<HTML>
<HEAD>
<TITLE>Програмиране в Интернет - Java Script</TITLE>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
<!-- скриване от стари браузъри

var x,y,z,result;
x = 10;
y = 5;
z = 20
document.write("x ="+x+";y = "+y+";z = "+z+"<BR>");
result = (x + z)/y;
document.write("Операция:(x + z)/y<BR>Резултат: "+result+"<BR>");

result = x + z/y;
document.write("Операция: x + (z/y)<BR>Резултат: "+result+"<BR>");

x += z;
document.write("Операция: x + = z<BR>Резултат: x = "+x+"<BR>");

document.write("Операция: x--<BR>Резултат: x = "+x--+"<BR>");
document.write("Стойност на х в момента: x = "+x+"
(няма приложена операция)<BR>");

document.write("Операция: x--<BR>Резултат: x = "+--x+"<BR>");

result=y%z;
document.write("x ="+x+";y = "+y+";z = "+z+"<BR>");
document.write("Операция: y % z<BR>Резултат: "+result+"<BR>");

// край на скриването-->
</SCRIPT>
</BODY>
</HTML>


Операциите за сравнение в един език са едни от най - използваните. Те често служат за определяне на хода на програмата или проверка за коректноста на въведени от потребителя данни. Резултата от една операция за сравнение е истина(true) или лъжа(false). Следващият пример ще покаже резултатите от изпълнението на няколко операции за сравнение.


<HTML>
<HEAD>
<TITLE>Програмиране в Интернет - Java Script</TITLE>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
<!-- скриване от стари браузъри

var x =15;
var y = 20;

document.writeln("<CENTER><H2>Сравнения</H2></CENTER>");
document.write(x+" == "+y+" е равно на "+(xS==y)+"<BR>");
document.write(x+" < "+y+" е равно на "+(x<y)+"<BR>");
document.write(x+" > "+y+" е равно на "+(x>y)+"<BR>");
document.write(x+" <= "+y+" е равно на "+(x<=y)+"<BR>");
document.write(x+" >= "+y+" е равно на "+(x>=y)+"<BR>");

// край на скриването-->
</SCRIPT>
</BODY>
</HTML>


Както виждате двата възможни резултата са true или false. Резултатите от тези операции, могат да участват в булеви операции. Резултатите от тези операции се базират на Булевата аритметика. Други операнди, които могат да участват в булеви операции са булевите променливи. Както бе споменато те могат да има само две стойност :истина или лъжа. Тук обаче има една особенност : всяка една променлива може да се използва като булева. Това произтича от факта, че интерпретатора на Java Script приема за лъжа всеки празен низ(за низовите променливи) и нула (за числовите променливи). За истина се приема всеки непразен низ и числата различни от нула. Ето пример демонстриращ казаното:


<HTML>
<HEAD>
<TITLE>Програмиране в Интернет - Java Script</TITLE>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
<!-- скриване от стари браузъри

var x = "";
document.write("x = "" e ");
if (x) {document.write("true<BR>")} else {document.write("false<BR>")}

x = 0;
document.write("x = 0 e ");
if (x) {document.write("true<BR>")} else {document.write("false<BR>")}

x = "Тест";
document.write("x = "Тест" e ");
if (x) {document.write("true<BR>")} else {document.write("false<BR>")}

x = 1;
document.write("x = 1 e ");
if (x) {document.write("true<BR>")} else {document.write("false<BR>")}

// край на скриването-->
</SCRIPT>
</BODY>
</HTML>


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


-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
›››Източник: web-teacher.org
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

/ Трябва да сте регистриран за да напишете коментар /