| Operator | Virker på | Eksempler |
| = | mellem variabel og "noget" |
tillægger variabel værdien "noget", "noget kan godt være et regneudtryk. Eks:
Vær opmærksom på, at objekter tildeles værdi
"by reference".
|
| + | mellem tal eller strenge |
:
klik for flere eksempler |
| + (unary) | Foran ét tal |
|
| ++ | Foran et tal efter et tal |
|
| - | mellem tal |
|
| - (unary) | Foran ét tal |
|
| -- | Foran et tal efter et tal |
|
| += | mellem tal eller strenge |
|
* /
*= /= | mellem tal | gange og dividere
a*=b virker ligesom a=a*b , a/=b som a=a/b |
% %= | mellem tal |
modulus (rest ved heltalsdivision):
a%=b er det samme som a=a%b |
| = = ! = | mellem "noget" |
Returnerer true eller false alt efter om de to noget er ens:
|
| = = = | mellem "noget" |
Returnerer true hvis de to noget er ens og af samme type:
Hvis a=2 og b=2 er |
< <= | mellem tal |
Returnerer true hvis første tal er mindre end det andet tal
tilsvarende mindre end eller lig med
|
| > >= | mellem tal |
som ovenfor med størrer end hhv størrer end eller lig med
|
| ! | foran boolsk | NOT: ! true = false og visa versae |
| || | mellem boolske | Or (eller): true hvis mindst det éne af de boolske er true |
| && | mellem boolske | And (og): false hvis mindst det éne af de boolske er false |
| ^^ | mellem boolske | Xor: True hvis det ene ! = det andet. MEN virker ikke i JavaScript |
| ~ | foran heltal | bitvis NOT:
~(1+2+8+256)=
|
| | | mellem heltal | bitvis Or: (1+256)|(2+4+256)=
=
(1+2+4+256) = summen af de bits der er ON på mindst den ene |
| & | mellem heltal | bitvis And:(1+256)&(2+4+256)=
=
summen af de bits der er ON på begge |
| ^ | mellem heltal | bitvis Xor:
(1+256)^(2+4+256)==(1+2+4)
= summen af de bits der er forskellige
a^~a=-1 altid: 257^~257 =
a^a= 0 altid: 257^257 = |
| << | mellem heltal |
shift left: Alle bits, undtagen fortegnbit, rykker til venstre.
x<<n er x*2n. Er x ikke et heltal rundes den numeriske værdi
ned, er n ikke et heltal fås uforudsigelige resultater. Der regnes med
31 bits foruden fortegnsbit, og bits der ryger ud til venstre skiftes
ind igen til højre: Er n>31 trækkes 32 fra: 17<<32 = 17<<0 =
|
>> >>> | mellem heltal |
shift right: Alle bits rykker til højre.
=230-5
>> flytter ikke fortegnsbit, men >>> gør.
|
-= *= /= %= |= &= ^= <<= >>=
>>>= mellem tal |
Alle udtryk er af formen tal1 x= tal2 hvor x er en operator
nævnt ovenfor. Det sætter tal1 = tal1 x tal2 += operatoren er nævnt ovenfor.
|
| ? : | (boolsk)? a : b
| Hvis boolsk er true er det lig a, ellers er det lig b a og b kan udmærket godt være funktioner der returnerer en funktionsværdi.
eks: a = (7 = = 8) ? 5 : 6 sætter a =
|
| ( , ) | ( sætning1,sætning2 ) |
Udfør både sætning1 og sætning2, men returner kun funktionsværdien fra sætning2.
eks: a = (5+1 , 7+2) sætter a =
Jeg skrev engang fejlagtigt: return 7.787*f+0,137931034
skønt jeg mente return 7.787*f+0.137931034
og returværdien fra min funktion blev derfor 137931034
|
| void | void sætning |
Udfør sætning, men uden at returnere en funktionsværdi.
eks: a = void 17+1 sætter a =
|
| typeof | sætning ell. variabel |
Find typen, f.eks typeof a =
da a= fra ovenfor, og NaN er en
konstant der tilhører typen number. NB: Alle objecter er af typen
object, uanset objecttype.
|
| new | objecttype |
Opret nyt object, tildel evt værdi med new objecttype(værdi). Eks:
a=new Number(17). Der oprettes et objekt a af typen Number med
a.valueOf() =
|
| delete | object, objekters ejendom, element i Array |
Fjern object mm. Eks: delete a . Nu er typeof a =
NB: typeof a bør nu være undefined; dette virker med I.Explorer og
Netscape 6; men Netscape 4.7 har uændret typeof a = object
|
| this | object i window-hirakiet |
Det objekt der lige nu behandles. Eks:
<script>function skiftnavn(o){
o.value='Nyt navn' }</script>
<input type=button value='gammelt navn'
onClick=skiftnavn(this)>
|