|  JavaScript operatorer
 
 
 En "operator" er et symbol, der bruges til at styre udførslen af en operation på en bestemt måde. I javaScript kan anvendes ca. 50 forskellige operatorer fordelt på følgende grupper: 
 
 
|  | Aritmetiske | Almindelig og speciel aritmetisk talbehandling. |  |  | Sammenligningnende | Sammenligninger variablers værdier. Boolske. |  |  | Logiske | Logiske sammenligninger. Boolske. |  |  | Bitvise | Bitbaseret behandling ved sammenligning eller bitflytning. |  |  | Assignment | Overførsel af værdi fra en variabel til en anden. |  |  | Streng | Konkatenering af strenge |  |  | Specielle | Specielle operatorer af meget forskellig art. |  
 
 ForrangOperatorernes forrang - den rækkefølge, der anvendes ved evaluering af udtryk - (der kan overstyres ved anvendelse af parenteser), er: 
comma ,assignment = += -= *= /= %= <<= >>= >>>= &= ^= |=conditional ?:logical-or ||logical-and &&bitwise-or |bitwise-xor ^bitwise-and &equality == !=relational < < = > >=bitwise shift << >> >>>addition/subtraction + -multiply/divide * / %negation/increment ! ~ - ++ --call, member () [] 
 
 Aritmetiske
 Almindelig og speciel aritmetisk talbehandling.    
 
 
| Addition | + | Almindelig addition. 
 v1 = v2 + 2 |  |  | Subtraktion | - | Almindelig subtraktion. 
 v1 = v2 -2 |  |  | Multiplikation | * | Almindelig subtraktion. 
 v1 = v2*2 |  |  | Division | / | Almindelig division. 
 v1 = v2/2 |  |  | Modulus | % | Beregning af modulus ( restværdi). 
 v1 = v2%2 |  |  | Forøgelse | ++ | Foranstillet forøgelse: v2 forøges med 1 før dens værdi overføres til v1. 
 v1 = ++v2 |  |  | Efterstillet forøgelse: v1 sættes = v2. v2 forøges efterfølgende med 1. 
 v1 = v2++ |  |  | Formindskelse | -- | Foranstillet formindskelse: v2 formindskes med 1 før dens værdi overføres til v1. 
 v1 = --v2 |  |  | Efterstillet formindskelse: v1 sættes = v2. v2 formindskes efterfølgende med 1. 
 v1 = v2-- |  |  
 
 
 Sammenlignende
 Sammenligninger mellem variablers værdi. Returnerer Boolske resultater: TRUE eller FALSE.   
 
 
| Lig med | == | Returnerer true hvis operanterne er ens. 
 v1 == v2 |  |  | Ikke lig med | != | Returnerer true hvis operanterne ikke er ens. 
 v1 != v2 |  |  | Større end | > | Returnerer true hvis den venstre operant er større end den højre operant. 
 v1 > v2 |  |  | Større end eller lig med | >= | Returnerer true hvis den venstre operant er større end eller lig den højre. 
 v1 >= v2 |  |  | Mindre end | < | Returnerer true hvis den venstre operant er mindre end den højre operant. 
 va < v2 |  |  | Mindre end eller lig med | <= | Returnerer true hvis den venstre operant er mindre end eller lig den højre operant. 
 v1 <= v2 |  |  | Nøjagtigt lig med | === | Returnerer true hvis operanterness værdi og datatype er ens. 
 v1 === v2 |  |  | Ikke nøjagtigt lig med | !== | Returnerer true hvis operanternes værdi og / eller datatype er forskellig. 
 v1 !== v2 |  |  
 
 
 Logiske
 Logiske operatorer.  Returnerer Boolske resultater: TRUE eller FALSE.   
 
 
| Logisk AND |  &&  | Returnerer true når både v1 og v2 er true. Ellers returneres false. 
 var resultat = v1 && v2 |  |  | Logisk OR |  ||  | Returnerer true når v1 eller v2 er true. Er de begge false returneres false. 
 var resultat = v1 || v2 |  |  | Logisk NOT |  !  | v1 vender sin værdi fra true til false eller fra false til true. 
 var resultat = !v1 |  |  
 
 Bitvise
 2 typer bit-operatorer. 1. Sammenligner de enkelte bits i variablerne. 2 Flytter bitsene sidelæns og udfylder de derved opståede tomme pladser.   
 
| Sammenligning | 
|---|
 | Bitwise AND |  &  | Returnerer bitvis 1 hvis både bit i v1 og v2 har værdien 1. 
 resultat = v1 & v2 |  |  | Bitwise OR |  |  | Returnerer bitvis 1 hvis enten bit i v1 eller v2 har værdien 1. 
 resultat = v1 | v2. |  |  | Bitwise XOR |  ^  | Returnerer bitvis 1 hvis enten bit i v1 eller v2, men ikke begge har værdien 1. 
 resultat = v1 ^ v2. |  |  | Unary bitwise NOT |  ~ 1 | De enkelte bitværdier (incl. fortegn) i v1 vendes fra 0 til 1 eller fra 1 til 0. 
 resultat = ~v1 |  |  | Flytning | 
|---|
 | Venstre skift |  <<  | Bitsene i v1 flyttes v2 pladser til venstre. De udskiftede bits slettes. Der indsættes 0-bits på de ledige pladser i højre side. |  |  | Højre skift |  >>  | Bitsene i v1 flyttes v2 pladser til højre. De udskiftede bits slettes. Bitten længst til venstre indsættes på de ledige pladser i venstre side. 
 resultat = v1 >> v2. |  |  | Indsæt-nul højre skift |  >>>  | Bitsene i v1 flyttes v2 pladser til højre. De udskiftede bits slettes. Der indsættes 0-bits på de ledige pladser i venstre side. 
 resultat = v1 >>> v2 |  |  
 
 
 Assignment
 Værdien af variablen til venstre opdateres baseret på operatoren og dataene til højre for den. Operatorerne (bortset fra '=') er 'shorthand' for hhv. standard aritmetiske operationer og for bitvise operationer.   
 
| Aritmetisk | 
|---|
 | Assignment |  =  | Almindeligt lighedstegn. Sætter variablen v1 = variablen v2. |  | Aritmetisk addition |  +=  | Variablen v1 sættes lig oprindelig v1-værdi + v2- værdi. 
 v1 += v2 betyder v1 = v1 + v2 |  | Aritmetisk subtraction |  -=  | Variablen v1 sættes lig oprindelige v1-værdi - v2-værdi. 
 v1 -= v2 betyder v1 = v1 - v2 |  | Aritmetisk multiplication |  *=  | Variablen v1 sættes lig oprindelig v1-værdi * v2-værdi. 
 v1 *= v2 betyder v1 = v1 * v2 |  | Aritmetisk division |  /=  | Variablen v1 sættes lig oprindeling v1-værdi / v2-værdi. 
 v1 /= v2 betyder v1 = v1 / v2 |  | Bitwise | 
|---|
 | Bitvis left shift |  <<=  | Dataene i v1 flyttes v2 antal bits til venstre. Konverterer v1 fra at være flydende komma tal til at være 32 bit heltal 
 v1 <<= v2 betyder v1 = v1 << v2 |  | Bitvis right shift |  >>=  | Dataene i v1 flyttes v2 antal bits til højre. Konverterer v1 fra at være et 32 bit heltal til at være et flydende komma tal. 
 v1 >>= v2 betyder v1 = v1 >> v2 |  | Bitvis zero fill right shift |  >>>=  | Dataene i v1 flyttes v2 antal bits til højre. Konverterer v1 fra at være et flydende komma tal til at være et 32 bit heltal. 
 v1 >>>= betyder v1 = v1 >>> v2 |  | Bitvis NOT |  | Konverterer v1 fra at være flydende komma tal til at være 32 bit heltal. Vender alle bits og returnerer værdien som et flydende komma tal. Gør tallet negativt og trækker 1 fra. 
  |  | Bitvis AND |  &=  | Konverterer v1 og v2 fra at være flydende komma tal til at være 32 bit heltal. Sammenligner de 2 tal bit for bit og returnerer værdien 1 når bitten er 1 i både v1 og v2. Ellers returneres 0. 
 v1 &= v2 betyder v1 = v1 & v2 |  | Bitvis XOR |  ^=  | Konverterer v1 og v2 fra at være flydende komma tal til at være 32 bit heltal. Sammenligner de 2 tal bit for bit og returnerer værdien 1 når bitten er forskellig i v1 og v2. Ellers returneres 0. 
 v1 ^= v2 betyder v1 = v1 ^ v2 |  | Bitvis OR |  |  | Konverterer v1 og v2 fra at være flydende komma tal til at være 32 bit heltal. Sammenligner de 2 tal bit for bit og returnerer værdien 1 når bitten er 1 blot 1 af v1 og v2. Ellers returneres 0. 
 v1 |= v2 betyder v1 = v1 | v2 |  
 
 Streng
 Sammenkædning af 2 strenge ved konkatenering.   
 
| String concatenation |  +  | Konkatenering af variabler. |  |  | String concatenation |  +=  | Kort form til konkatenering af variabler. |  |  
 
 Specielle
 Operatorer af vidt forskellig karakter. 
 
| Betinget operator |  ? :  | Kort version af if-sætning.
 var mood = (smile==true) ? happy : sad . Hvis smile = true så er mood = happy ellers er mood = sad. |  |  | Komma operator |  ,  | Separator til brug i flere forskellige sammenhænge. 
 	var k=0, i, j=0;for (i = 0; i < 10; i++, j++)
 |  |  | Slet | delete | Anvendes til sletning af et objekt, et objekts property eller et element i en array. Returnerer Boolsk resultat. 
 delete someobjectdelete someObject.property
 delete someArray[index]
 |  |  | In | in | Undersøger om anført property er indeholdt i anført objekt. Returnerer Boolsk resultat. 
 if ("phone" in myObject)document.write ("property is present");
 else
 document.write ("property is not present");
 |  |  | Instance of | instanceof | Kontrollerer om et objekt indeholder data af anført type. Returnerer Boolsk resultat. 
 var color1 = new String("green");color1 instanceof String; // returns true
 |  |  | new | !!!!!!!!! | !!!!!!!!!!!!. |  |  | this | thisthis.property
 | Nøgleord, der anvendes til at referere til aktuelt objekt. Refererer til det kaldende objekt i en metode. 
 this[.propertyName]
 
 <B>Enter a number between 18 and 99:</B><INPUT TYPE = "text" NAME = "age" SIZE = 3   onChange="validate(this, 18, 99)">
 |  |  | typeof |  typeof  | Returnerer typen på den testede variabel. Nyttig ved fejlfinding. 
 
 alert(typeof "Hello World")Returnerer "string"
 alert(typeof (2 + 2))Returnerer "number"
 alert(typeof true)Returnerer "boolean"
 alert(typeof cow)Returnerer "undefined" /cow er ikke blevet initialiseret som en variabel)
 alert(typeof ('2' + 2))Returnerer "string" (Konkatenering  af en streng og et tal resulterer i en streng) |  |  | void | void(0) | Returnerer en null-værdi. Browsere vil derved ikke være i stand til at indlæse en ny side. Kan ikke bruges uden en værdi.
 <a href="javascript: void(0)">I am a useless link</a><a href="javascript: void(myNum=10);alert('myNum = '+myNum)">Set myNum Please</a>
 |  |  
 
 Backslash Escape Characters
 Særlige styrekarakterer med brøkstreg som 'fortegn'. 
| \' | ' | Enkelt anførselstegn |  | \" | " | Dobblet anførselstegn |  | \\ | \ | Enkelt backslash |  | \b | Backspace | Flytter markøren ét tegn tilbage |  | \f | Formfeed | Sideskift på printeren |  | \n | Newline | Linieskift |  | \r | Return | Flytter markøren til starten af linien |  | \t | Tabulator | Tabulator |  | \a | Alert | Udløser BEEP-lyd |  | \v | Tabulator | Vertikal tabulator |  | \0 | Null | Null character |  | \cX | Ctrl X | X = pladsholder for det bogstav der skal trykkes samtidig med CTRL-tasten. |  
 
  
         
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
         
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
         
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 |