Оператори и изрази

В езика са реализирани почти всички оператори, известни от други езици за програмиране. Те могат да се класифицират като оператори предназначени за:

Оператори за присвояване.

Предназначението на оператора за присвояване (=) е да обнови съдържанието на променлива от лявата страна на оператора със стойност изчислена от дясната му страна. Разновидности:
 

Оператор
Функция
Пример
Еквивалентно на
+=
Прибавя към а стойността на b
a+=b
a=a+b
-=
Изважда от а стойността на b
a-=b
a=a-b
*=
Присвоява произведението на а по b
a*=b
a=a*b
/=
Присвоява резултатът от делението между a и b
a/=b
a=a/b
%=
Присвоява остатъка от целочислено деление между a и b
a%=b
a=a%b
?:
Условно присвояване
a=(c<d)?e:f
if(c<d)then a=e else a=f

Аритметични оператори

Операторите извършват аритметични операции върху своите операнди.
 

Оператор
Функция
Пример
+
Събиране
a+b
-
Изваждане
a-b
*
Умножение
a*b
/
Делениве
a/b
%
Остатък при целичислено делене (modulo)
a%b

Логически оператори и оператори за отношение

Логическите оператори и операторите за отношение извършват срванение между операндите си, които могат да бъдат числови, низове или логически. Ако резултатът от сравнението е 0, той се третира като верен, т.е. "истина". В противен случай формираният резултат е различен от 0, което се приема за "лъжа".
 

Оператор
Функция
Пример
!
Логическо отрицание
!(a=b)
<
По-малко от
a<b
>
По-голямо от
a>b
<=
По-малко или равно
a<=b
>=
По-голямо или равно
a>=b
!=
Различно от
a!=b
==
Равно на
a==b
&&
Логическо И
(a==b)&&(c>d)
||
Логическо ИЛИ
(a==b)||(c<d)

Оператори за обработка на низове

Операторите за сравнение могат да се използват и при символните низове. Специфична операция между символни низове е конкатенацията. В следствие на "събирането" (+) на два низа се получава трети низ.

Пример:
 

a = "едно " + "две"

След изпълнение на операцията  се получава низ ("едно две") като значение на а. Ако променливата а има за значение съдържанието на низ "едно ", след изпълнение на операцията:
 

a += "две"

се получава ново съдържание на а - "едно две".

Оператори за инкрементиране и декрементиране.

Операторите за инкрементиране и декрементиране се използват съответно за увеличаване или намаляване с единица (1) на стойността на променлива. В зависимост от мястото на оператора се определя и момента на изпълнение на операцията.
 

Оператор
Функция
Пример
++
постфиксно инкрементиране
а++
++
префиксно инкрементиране
++а
--
постфиксно декрементиране
а--
--
префиксно декрементиране
--а

В един израз с повече от един операнд префиксно инкрементиране или декрементиране се изпълнява преди изчисляване на израза. В случая на постфиксно инкрементиране или декрементиране операцията се изпълнява след изчисляване на израза.

Операции на ниво битове

В езика Javascript са заложени накои побитови операции, предназначени за извършване на пресмятания на ниво битове.
 

Оператор
Функция
Пример
&
Побитово И (AND)
a=0xfa&0x35
|
Побитово ИЛИ (OR)
a=0xfa|0x12
^
Побитово изключващо ИЛИ (XOR)
a^=0x32
~
Побитово НЕ (инверсия)
a=~b
>>
Преместване побитово вдясно (Shift Left)
a>>=c
<<
Преместване побитово вляво (Shift Right)
a=b<<c

Условен оператор

Условният оператор връща стойност от един или друг израз в зависимост от поставено условие. Ако условието е изпълнено (true) се връща стоността на първия операнд, и ако не е изпълнено (false) се връща стойността на втория операнд:
 
(условие)?израз1:израз2

Пример:
 
(a==5)?true:(a+b)*4

ако а съдържа стойност 5, то върната стойност е булева - true, иначе се пресмята стойността на израза (a+b)*4.

Оператор за достъп

Операторът '.' се използва за директен достъп до поле от структура. Езикът Javascript е обектно-ориентиран. В този смисъл операторът се използва за достъп до методите и свойствата на обектите в езика.

Приоритет на операциите

В езика има установена последователност при изпълнение на операциите в един израз. Промяна в установения приоритет се постига чрез използване на скоби. Приоритетът на операциите е показан в Таблица 1 от най-ниския към най-високия.
 

Таблица 1
[ ] . 
! ++ -- 
* / % 
+ - 
<< >> 
== != <<= >>= 
& 
^ 
| 
&& 
|| 
?: 
= += -= *= /= %= <<= >>= &= ^= |= 
, 



Интернет за персонални компютри
Copyright © 1998-2002 by Ivan Madjarov All rights reserved