Operatorer

+ - * / ? % ++ -- && och ||
Aritmetiska operatorer
Tilldelningsoperatorer
Jämförande och logiska operatorer
Strängoperatorer
Villkorsoperatorer

Se även Specialtecken

Operatorerna + - * / ? % ++ -- && och || 

En operator är ett tecken som används för att avgränsa variabler eller konstanter.

Exempel: 1+1=2

Här är + en operator. JavaScript vimlar av operatorer av alla slag, inte bara sådana som används i enkla matematiska uttryck.

Syntax

Reglerna för hur operatorer skall användas varierar med typen av operator, men vanligen skall det se ut så här:

variabel = värde operator värde

där variabel är namnet på en variabel som används för att lagra ett värde, värde är ett tal, en sträng, ett uttryck eller egenskapen hos ett objekt och operator är en av de operatorer som beskrivs nedan

Beskrivning

ARITMETISKA OPERATORER

Aritmetiska operatorer arbetar med talvärden. I tabellen nedan anges de aritmetiska operatorerna i JavaScript med exempel på var och en av dem.

Följande är de aritmetiska operatorerna
Operator Används till Exempel Resultat
+ Addition 2+3  ger resultatet 5
- Subtraktion 5-2  ger resultatet 3
* Multiplikation 2*3  ger resultatet 6
/ Division 3/2  ger resultatet 1.5
% Visa rest 3%2 
6%2 
ger resultatet 1
ger resultatet 0
++ Inkrementering x=2  x++ ger resultatet x=3
-- Dekrementering x=3  x-- ger resultatet x=2
- Gör negativt x=2  -2 ger resultatet x=-2

Visa rest, %,  innebär att skriptet visar det som blir över efter att en division har utförts.

Inkrementering ökar värdet på en numerisk variabel med 1. ++ är alltså detsamma som "variabeln + 1". Följande båda satser ger således samma resultat:

x=x+1
x++

Detsamma gäller för dekrementering, där den numeriska variabelns värde minskar med 1.

Gör negativt innebär att när minustecknet används framför ett numeriskt värde utan att ingå i ett annat uttryck, blir det numeriska värdet negativt.

Pröva

x=1;
y=-x;
document.write(y);

y har fått värdet -1

Aritmetiska operatorers prioritet

JavaScript följer de normala prioriteringsreglerna där multiplikationer och divisioner utförs före additioner och subtraktioner. Precis som i vanlig matematik kan du ändra detta genom att sätta uttrycken inom parenteser.

Exempel: 2+3*4

Detta ger 14, därför att multiplikationen utförs före additionen. Ändra genom att sätta in parenteser:

(2+3)*4

Resultatet blir 20, därför att parentesen beräknas först och resultatet av denna beräkning sedan används i multiplikationen.

Med operatorer på samma prioriteringsnivå utförs de olika operationerna i ordning från vänster till höger.

TILLDELNINGSOPERATORER

För att tilldela en variabel ett värde använder du följande syntax

variabelnamn=värde

Exempel: x=32 y=64 z=x+y

När dessa tre rader har körts kommer variablerna x och y fortfarande att innehålla 32 respektive 64 medan z innehåller 96 (32 + 64).

Pröva

x=32;
y=64;
z=x+y;
document.write(z);

z har fått värdet 96

Det finns en del genvägar som gör att du kan räkna och tilldela värden samtidigt; det ger en kortare kod men gör koden mer svårläst. Dessa operatorer visas i tabellen nedan.

Följande är tilldelningsoperatorer
Operator Exempel Betyder
+= 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
JÄMFÖRANDE OCH LOGISKA OPERATORER

Jämförande och logiska operatorer jämför två värden och svarar med true (sant) eller false (falskt). 

Om svaret på en jämförelse framgår redan av första delen i en logisk operation, hoppar javascripttolken över resten. Om till exempel den första delen av 

if (x=3) && (y<x)

är falsk, utvärderas aldrig den andra delen. Denna så kallade "lata utvärdering" kan du utnyttja för att göra skripten snabbare.

Tabellerna nedan innehåller de jämförande operatorerna och de logiska operatorerna.

Följande är jämförande operatorer
Operator Innebär Exempel
== är lika med 3==2 är falskt
!= är inte lika med 3!=2 är sant
> är större än 3>2 är sant
>= är större än eller lika med 3>=2 är sant
< är mindre än 3<2 är falskt
<= är mindre än eller lika med 3<=2 är falskt
Följande är logiska operatorer
Operator Innebär x=3 och y=2 gör att
&& AND (x=3) && (y<3) är sant
(x =3) && (y>x) är falskt
|| OR (x=3) || (y=3) är sant
(x=2) || (y=3) är falskt
! NOT x!=y är sant
x!=y+1 är falskt
STRÄNGOPERATORER

En sträng består av text i stället för tal eller numeriska värden. Man kan räkna med numeriska värden: 2*3=6, 2*x=6 om x=3, x*y=6 bland annat om x=3 och y=2.

Med strängvärden kan man inte utföra matematiska operationer: Kalle*Stropp... nej, det går inte.

Konkatenering

Att "konkatenera" strängar betyder att man sätter ihop två eller flera strängar till en enda, längre sträng. Vid konkatenering använder man operatorn +.

Pröva

x="Kalle";
y="Stropp";
z=x+y;
document.write(z);

Detta gör att innehållet i z, KalleStropp, skrivs ut på skärmen.

Men det saknas mellanslag mellan orden. Det beror på att ingen av variablerna ovan innehåller några blanksteg. Datorn uppfattar strängen som text oavsett vad den innehåller – det spelar ingen roll om det står "abra", "kadabra" eller " " (ett blanksteg) i den.

Pröva

x="Kalle ";
y="Stropp";
z=x+y;
document.write(z);

Skriver "Kalle Stropp" på skärmen.

Pröva

x="Kalle";
w=" ";
y="Stropp";
z=x+w+y;
document.write(z);

Skriver också "Kalle Stropp" på skärmen.

Ett blanksteg består alltså av ett mellanslag mellan citationstecken - " ".

Pröva

x="Kalle";
w=" ";
y="Stropp";
p="och";
q="Grodan";
r="Boll";
z=x+w+y+w+p+w+q+w+r;
document.write(z);

Skriver "Kalle Stropp och Grodan Boll" på skärmen.

Du kan också sätta in blanksteget direkt utan att först definiera det, på det här sättet:

Pröva

x="Kalle";
y="Stropp";
z=x+" "+y;
document.write(z);

Eller ge till exempel. x det som skall skrivas ut – x får här sitt eget värde plus ett blanksteg plus värdet av y:

Pröva

x="Kalle";
y="Stropp";
x+=" "+y;
document.write(x);

Båda gör att "Kalle Stropp" skrivs på skärmen.

VILLKORSOPERATORER ? OCH :

Villkorsoperatorer använder villkor för att tilldela variabler värden. Operatorerna är ? och :

Syntax

variabel=(villkor)?om sant:om falskt

Vilket kan läsas som "om villkoret uppfylls används värdet i "om sant", annars används värdet i "om falskt".

Pröva

x="groda";
djurslag=(x=="groda")?"Grodan Boll":"Kalle Stropp";
document.write(djurslag);

Detta skriver ut "Grodan Boll" på skärmen. Om värdet i x byts mot något annat, skrivs i stället "Kalle Stropp".

Pröva

x="integroda";
djurslag=(x=="groda")?"Grodan Boll":"Kalle Stropp";
document.write(djurslag);

Detta skriver ut "Kalle Stropp" på skärmen.

Med andra ord: Om x är lika med groda, skriv ut Grodan Boll; om x inte är lika med groda, skriv ut Kalle Stropp.

Se även Specialtecken

© SupportData.Net