nilsmartin.no

 nilsmartinno 

 

 


Javaskript

JavaScript er:
– Et klientside-skriptspråk som kan brukes til å lage dynamiske og interaktive vev-sider.
– Åpent.
– Plattformuavhengig.
– Lisensfritt.
– Høynivå interpreterende objekt-orientert skript- og programmeringsspråk.
– Gratis under GNU lisens.

Tilgjengelighet. Uten å installere eller konfigurere noe som helst, har alle som sitter foran en skjerm med nettleser tilgang til et kraftig verktøy rett framfor nesen sin.
JavaScript har en enorm og utbredelse. Alle nettlesere, mange mobiltelefoner, nettbrett og etterhvert også TVer, kan eksekvere JavaScript.
Selve koden distribueres sammen med html-dokumentet. Dvs. at man trenger ikke laste ned eller installere noe som helst. Programmet kjører direkte i nettleseren i en vanlig html-side.

Klient-orientering. Man kan si at JavaScript er et klient-orientert språk som kjøres på klienten, og som bl.a. kan lage dynamiske vev-sider.
– (Til forskjell fra tjener-orienterte språk som prosesserer dokumentet før det lastes ned til klient-maskinen, som f.eks: PHP. SSI. CGI. Perl.)

Sikkerhet. Når man først har tillatt Javaskript å eksekvere i vev-leseren, har man ingen mulighet til å hindre det når dokumentet lastes ned til egen maskin.
I praksis er det allikevel liten fare for å bli utsatt for angrep fra JavaScript-kode.

Fordeler:
– At programkoden flyttes fra tjener og kjøres på brukerens datamaskin kan bety bedre ytelse og funksjonalitet.
F.eks. kan feilsjekking i et skjema utføres lokalt på brukerens maskin. Data kan tastes inn uten at tjeneren undersøker noe som helst.
– Muligheten til å blande HTML og JavaScript-kode gjør at man gradvis kan legge til dynamikk i eksisterende vevsider.
– HTML har mange elementer som kan justeres med Javascript.
– Trenger ingen installasjon.
– Er alltid oppdatert.
– Syntaksen ligner på vanlige programmeringsspråk som C, C++, Java, PHP, Perl, osv. Dette gjør JavaScript lett å lære for dem som kan programmering fra før av.
Og visa versa; dersom man lærer JavaScript kan en lett kjenne seg igjen i andre programmeringsspråk.
– Er ikke OS begrenset.
– JavaScript har enorm utbredelse.
– Er tilgjengelig fra alle maskiner og dingser som man bruker.
– JavaScript enkelt å komme i gang med.
– Svak typing og automatisk konvertering mellom datatyper kan gjøre det enklere for nybegynnere.
Ulemper:
– Av sikkerhetshensyn har Javascript ikke hatt tilgang til programmer eller filer lokalt på brukerens egen private maskin. Unntak har vært infokapsler.
Med HTML5 er det kommet Web Storage, indexedDB og filereader().
– Syntaksen er vanskelig for vanlige folk å forstå.

 

 

Vevsider

JavaScript kan bl.a. brukes i vev-sider sammen med html og css-koder.
Koden lastes ned til nettleseren sammen med dokumentet.

JS-skript starter med starttagg <script> og avsluttes med sluttagg: </script>.
Koden legges inn i html-dokumenter.

Koden kjøres på klienten, etter at den er lastet ned til nettleseren.

Besøkende kan se koden ved å klikke på «vis kilde» i nettleseren.


Eksempel. Kommandoen document.write() kan brukes til å skrive ut tekst til vevsiden.

<script>
document.write("Hei "); document.write("verden! ");
document.write("<br>");
document.write('Hei og hå. ');
</script>

"<br>"  gir en ny linje i html-kode.
Enkelfnutt kan i noen tilfeller brukes isteden for dobbelfnutt.

Legg merke til at instruksjoner avsluttes med semikolon;


Knapper

Det finnes tre ferdiglagde pop-up bokser: alert, confirm og prompt.
– Alert-knappen gir en beskjed hvor brukeren må klikke OK for å fortsette.  Eksempel  alert.html.
– Confirm-knappen krever at brukeren klikker OK eller Avbryt for å fortsette.  Eksempel  confirm.html.
– Prompt-knappen gir et tekstfelt, sammen med OK og Avbryt.  Eksempel  prompt.html.

Variabler

En variabel kan sees på som en beholder med en verdi inni. Rent fysisk er det minnecelle som inneholder en viss verdi.
Variabelen må ha et unik navn i den konteksten der er.

Navnet kan tenkes på som en peker til variabelen.

Variabler tilordnes en verdi med bruk av = tegnet, som betyr «settes lik».


Eksempel:
<script>
x=1;
    // Navnet ‹x› settes til å peke på en beholder som tildeles verdien 1. 
    // I praksis sier man bare at x settes lik en.

abc = 123; 	// Variabelen abc settes til tallet etthundre og tjuetre.
p = abc; 	// Her settes p til å være lik variabelen abc som er 123.
q = "abc"; 	// Her settes q til en tekststreng med teksten abc. 
r = abc; 	// Her settes r til en tekststreng med teksten abc. 
document.write (x); document.write (abc); 
document.write (p); document.write (q); document.write (r);
</script>
Legg merke til at tilordning av verdier til tekstvariabler bruker fnutter.
x="abc"; er noe annet enn x=abc; Det siste betyr at x settes lik en annen variabel som kan inneholde hva som helst. Hvis det ikke finnes noen slik variabel så blir innholdet tilfeldigvis det som man tror det blir.

Doble skråstreker (//) er kommentartegn.

Kommandoen r = abc; er tvetydig og bør unngås. Alle tekst-tilordninger bør ha fnutter.

<script>
// Flere variabler kan tilordnes en verdi samtidig:
x = y = z = 1;  
// er ekvivalent med:
x=1; y=1; z=1; 
</script>

Variabler i Javascript er case-sensitiv. Det vil si at f.eks. x og X er to forskjellige variabler.

Variablene over er ikke definert.
Ikke-definerte variabler gjelder globalt, dvs. at de gjelder utenfor funksjoner, selv om de er brukt innenfor.
På den måten kan det oppstå variabel-kaos.

Derfor bør variablene deklareres med nøkkelordet var foran. Variabelen er da lokal, dvs. at den kun er kjent innenfor blokken den er definert i, og usynlig utenfor.
Globale variabler må og bør defineres utenfor funksjoner.

Det anbefales å gi variabelen en utgangsverdi, men er ikke nødvendig. F.eks. var x; definerer variabelen, men uten en verdi.

Selv om variabelen er tilordnet et tall, kan den i neste omgang settes til å peke på en tekst.
Denne koden x=1; x="abc"; er gyldig;

Variablene er ikke typedefinert og kan dermed peke til alle typer objekter. Javascript er såkalt svakt typet, ift. andre språk som har sterk typing; hvor de ikke bare må deklareres på forhånd, men en må også si hvilken type data variabelen skal inneholde.


document.write()

Kommandoen document.write() kan brukes for å skrive ut en variabel til vevsiden.

<script>
/* document.write() kan brukes for å skrive til vevsiden. */
x = "abc";
document.write(x);       // Skriver tekststrengen "abc".
document.write('x');    // Skriver variabelnavnet x.
document.write("x");    // Skriver variabelnavnet x.
</script>
Legg merke til at kommentarer kan skrives på to ulike måter:
// doble skråstreker gjelder for en enkelt linje.
/* kommentar som kan gå over flere linjer */
document.write( "kan " , "også " , "skrive " , "multiple parametre.");
<pre>
<script>
document.writeln( "lager en ny linje ");
document.writeln( "etter hver kommando. ");
</script>
</pre>

 

 

Tekstvariabler

Eksempel 1. Sette sammen (konkatenere) variabler.

<script>
var x = "a";  // Variablene x og y, 
var y = "b";  // settes til henholdsvis bokstaven a og b.

// Konkatenering.
var t = x + y;      // x og y settes sammen til t.
	
x += y          // Kortform for x = x + y.  (y føyes til x.)
                  // (x er lik t.)
document.write(t);
document.write(x);
</script>
Pluss-tegnet brukes til å sette variabler og tekststrenger sammen.

Eksempel 2. Substring.

<script>
var tekst = "abcdef";
var lengde = tekst.length; // lengde = 6.
var start = 2;
var slutt = 4;
tekst = tekst.substring(start, slutt);
document.write (tekst);  // Her skrives ut en del av den opprinnelige teksten.
/* Resultatet blir «cd». */
</script>

Variabelen tekst inneholder tekststrengen «abcdef».
Deler av den kan skrives ut vha. funksjonen substring().

Eksempel 3. Substring.

<script>
var tekst = "abcdef";
var t1 = tekst.substring(0,1);
var t2 = tekst.substring(1,2);
var t3 = tekst.substring(2,3);
var t = t1 +  t2 +  t3 ; 
document.write (t);  // t blir abc.
</script>

charAt

<script>
var tekst ="abcdef";
var t =
tekst.charAt(0) +
tekst.charAt(1) +
tekst.charAt(2); 
document.write (t);
/* Resultatet blir «abc». */
</script>

Her inneholder variabelen tekst tekststrengen «abcdef».
Deler av den skrives ut vha. funksjonen charAt().

 

 

Matematikk

Eksempel 1. Regne eksempler.

<script> 

var a=0;     // Deklarerer en variabel a og tilordner en startverdi.
a = 1 + 2 + 3;     // Legger sammen 1, 2 og 3 og lagrer resultatet i variabelen a.

a++;     // a økes med 1. (Kortform for a = a + 1;)
a += 2;     // Kortform for a = a + 2;

var b = 10 - 3;     // Subtraksjon.
b--;     // b minkes med 1. (Kortform for b = b - 1;)
b -= 2;     // Kortform for b = b - 2;

var c = 2 * 3;     // Multiplikasjon.
c *= 2;     // Kortform for c = c * 2;

var d = 11 / 3;     // Divisjon.
d /= 2;     // Kortform for d = d / 2;

var e = 2 + 2/2 - 1;     // Divisjon, addisjon, og subtraksjon. 
var f = (2 + 2 ) / (2 - 1);     // Divisjon, addisjon, 
                                // og subtraksjon med bruk av parenteser. 

var g = 11 % 3;     // Heltallsdivisjon.
                    // Modulus g = 2 er rest etter heltallsdivisjon.

var h = 11;
h %= 2;     // Kortform for h = h % 2;

var i = Math.sqrt(9);     // i = √9 = 3.0. 
                          // Merk at sqrt returnerer et flyttall.
var j = Math.PI;          // j = 3.1415926535898.  
                          // Konstanten gir det samme som pi-funksjonen.

var k = Math.pow(2,4);   // Eksponent. k er to opphøyd i fjerde, som er 16.

document.write(a, b, c, d, e, f, g, h, i, j, k);  

</script>

Eksempel 2. Konstanter.

En konstant er en identifikator for en bestemt verdi.

<script>
// Konstanter defineres med const.
const MAKS = '123';  // Definerer en konstant som symboliserer en bestemt verdi.
document.write("Maksverdien er: ", " ", MAKS, ".");
</script>

Konstanter er globale og kan ikke endres under kjøring.

Konstanter har også type.

Det er en fordel å bruke store bokstaver for KONSTANTER, for å skille dem fra andre variable.


Variabel konvertering

Ofte har man en variabel av type tekst som man vil ha som tall-type.

<script>
var x="2";  // x er en tekststreng.
x = x+x;   // To tekststrenger legges sammen.
document.write(x); // Og skrives ut, og blir: 
</script>

Variabelen x må gjøres om til et tall.

<script>
var x = "2";  // x er en tekststreng.

//Et triks for å konvertere en tekst til et tall 
// er å ved å trekke fra og legge til 0:
x-=0; x+=0;

x = x+x;   // To tall legges sammen.
document.write(x); // Og skrives ut, og blir: 

</script>

Og da vil to pluss to vil være fire; slik det alltid har vært.

Javascript konverterer ofte automatisk fra en type til en annen når det er nødvendig.

Noen ganger vil man endre typen til en variabel. F.eks. gjøre om et heltall til et desimaltall eller en tekst.

Eksempel 1. Funksjoner som konverterer til heltall på litt ulike måter.

<script>
var x = "12.3cde ";
var x1 = parseInt(x);   // Konverterer til heltall.

// Funksjoner som konverterer et tall til et heltall på litt ulike måter.
var x2 = Math.floor(12.7); // Runder av nedover.
var x3 = Math.round(12.7); // Runder av på normalt vis.
var x4 = Math.ceil(12.1); // Runder av oppover.
document.write(x,x1,x2,x3,x4);
</script>

Et triks for å konvertere en tekst til et tall er å ved å trekke fra og legge til 0:

<script>
var x = "12.3 ";
document.write(typeof(x));
x-=0; x+=0;

// Nå er variabelen et tall, og
// typeof(x) = 
</script>

Nå er variabelen et tall, og typeof(x) =

parseInt()   Parserer en streng og returnerer et heltall.
isNaN()   Avgjør om verdien er et ugyldig tall.
Number()   Konverterer verdien til et tall.

Infinity   er en verdi som representerer positiv eller negativ uendelighet.
NaN    «Not-a-Number» verdi.
undefined   Indikerer at en verdi ikke er tilordnet en verdi.


Eksempel 2. Funksjoner som konverterer til desimaltall.

<script>
var x=parseFloat(x);  // Konverterer til flyttall.
</script>

parseFloat()   Parserer en streng og returnerer et flyttall.


Eksempel 3. Konvertering til tekst.

<script>

var x = 123;

var y = x.toString();  // Konverterer tall til tekst.

var z = String(x);  // Konverterer til tekst.

document.write(typeof(x));
document.write(typeof(y));
document.write(typeof(z));

</script>

String()   Konverterer en verdi til en tekst.

<script>

// Her er to tekster som legges sammen.

var x = "1abc";  y = "2def";

document.write(x + y);  // Som gir teksten 1abc2def.

// I PHP ville dette blitt noe helt annet, nemlig 3.
// Dette kommer av at PHP omgjør variablene til tall før regneoperasjonen.

</script>

Eksempel 4. Konvertering til matriser.

<script>
var x ="5.5";

// Funksjonen typeof(x) returnerer variabelens type.
document.write(typeof(x));  // Tekststreng.

var y = x.split(); // Konvererer en tekst til et array.

// Sjekker om et objekt er en Array-funksjon.
if (y.constructor === Array) {document.write(" array ");}
else {document.write(" ikke array ");}

document.write(y);
document.write(y[0]);
document.write(".");
</script>

Eksempel 6. Symbolet === sammenligner verdi og type.

<script>

x === y   // betyr at x er lik y og har samme datatype.

</script>

 

 

Logikk

Boolske verdier kan ha to verdier; true eller false, samt udefinert.


Eksempel 1.

<script>

var a = 10;   // a tilordnes verdien 10. (a er lik 10.)

if (a == 10) {document.write('a er lik 10 == TRUE. ');}
if (a == 11) {} else {document.write('a er lik 11 == FALSE. ');}
if (a === 10) {document.write('a er lik 10 og av samme type == TRUE. ');}
if (a != 10) {} else {document.write('a er ikke lik 10 == FALSE. ');} 
if (a !== 10) {} else {document.write('a er ikke lik 10 og av samme type == FALSE. ');} 

if (a < 10) {} else {document.write('a mindre enn 10 == FALSE. ');}
if (a > 10) {} else  {document.write('a større enn 10 == FALSE. ');}

if (a <= 10) {document.write('a mindre enn eller lik 10 == TRUE. ');}

if (a >= 10) {document.write('a større enn eller lik 10 == TRUE. ');} 

b = 11;  // b tilordnes tallverdien 11. (b er lik 11.)
if (a == 10 && b == 11) {document.write('a er lik 10 OG b er lik 11 == TRUE. ');}

if (a == 9 || b == 11) {document.write('a er lik 9 ELLER b er lik 11 == TRUE. ');}

a = "a"; // a inneholder teksten 10.
if (a === 10) {} else {document.write('a er lik 10 og av samme type == FALSE. ');} 


var x = true;
if (!x) {document.write('x er lik IKKE-x == FALSE. ');}   
else {document.write('x er lik IKKE-x == TRUE. ');}

</script>

Eksempel 2. OG.

<script>
var x = false;   var y = false;  //  x og  y tildeles en boolsk verdi.
var b =  x &&  y;  //  x OG  y. Begge er true. (false)
document.write(b);  // false.
</script>

Eksempel 3. ELLER.

<script>

var x = false;   var y = false;  //  x og  y tildeles en boolsk verdi.
var b =  x ||  y;    //  x ELLER  y. En av dem er true. (false)
document.write(b);  // false.

// ELLER kan også lages med en if-setning.
var c = true;
if (!x) { c =  y;}
document.write(c);  // false.

</script>

Eksempel 4.

<script>

var a = 1 < 2;                  //  a == TRUE.
var b = 2 > 3;                  //  b == FALSE.

var c =  a &&  b; 	             //  c ==  a OG  b == FALSE. 

c = (1 < 2) && (2 < 3);     //  c = TRUE.

a = ! b; 		     //  a == IKKE- b == TRUE. 

var d =  a ||  b; 		     //  d ==  a ELLER  b. 

</script>

Eksempel 5. false kan være litt forskjellig.

<script>
if (false == 0) { document.write('false == 0') } else {document.write('noe annet');}
if (false == "") {document.write('false == ""');} else {document.write('noe annet');}
</script>

Eksempel 6. true.

<script>
if (true == 1) {document.write('true == 1');}   else {document.write('noe annet');}
if (true != 0) {document.write('true != 0');} else {document.write('noe annet');}
</script>

if

En tom if-setning kan se slik ut:  if () {}

Inne i (parentesen) er en betingelse (logisk uttrykk) og i { krøllparentesene } er kommandoer.

Eksempel:   if (true) {alert("True.")}   

Betingelse er et uttrykk som enten kan bli true eller false.
Det enkleste er sammenligning av variabler, (x == y). Det brukes to eller tre likhetstegn. Hvis en bruker bare ett likhetstegn er det en ugyldig sammenligning.
<script>
var a = 1;	//  a tilordnes verdien 1.
if (a == 1) {document.write('Variabelen a er lik en. ');}
</script>

If then else


Eksempel. Sammenligning av verdier.

En variabel a som settes til en boolsk verdi. Den testes i en if-setning, verdien byttes og variabelen skrives ut.

<script>
var a = false;
if (a == true) {a = false;} else {a = true;} // a bytter verdi.
document.write ('Variabelen a = ' + a + ".");
</script>

Eksempel. Sammenligning av type.

Her er to variable. De testes i en if-setning om de er like og av samme type.

<script>
var a = 5; var b = 5.0;

if (a == b) {document.write("a == b er sant.");}
else {document.write("a == b er usant.");}

if (a === b) {document.write("a === b er sant.");}
else {document.write("a === b er usant.");}

</script>

Den ene variabelen er et heltall og den andre et flyttall (desimaltall), og de er derfor ikke av samme type, og derfor ulike.


else if

<script>
var a = 0;  // a er ikke 1, 2 eller 3. 
if (a == 1) {document.write("a = 1. ");} 
else if (a == 2) {document.write("a = 2. ");}
else if (a == 3) {document.write("a = 3. ");}  // elseif kan også skrives i to ord.
else {document.write("a er ikke 1,  2 eller 3. ");}
</script>

If-logikk:

<script>   // OG.
var a = 3;
if ((a > 1) && (a < 10)) {document.write( 'a er større enn 1 og mindre enn 10. ');} 
else {document.write( 'a er mindre enn 1 eller større enn 10. ');} 
</script>
<script>  // OG kan også lages med en if-setning. Gjør det samme som over.
var a = 3;
if (a > 1) 
{
if (a < 10) {document.write('a er større enn 1 og mindre enn 10. ');} 
}
else {document.write('a er mindre enn 1 eller større enn 10. ');} 

</script>
<script> // OG som if-setning.

var x = false;  var y = false;  // x og y tildeles en boolsk verdi.

var a = false;
if (x) {a = y;}
if (a) {document.write( 'a == true.');} else {document.write( 'a == false.');} 

</script>
<script>    // ELLER.
var a = 3;
if ((a < 1) || (a > 10)) {document.write('a er mindre enn 1 eller større enn 10. ');} 
else {document.write('a er mellom 1 og 10. ');} 
</script>
<script>    // ELLER kan også lages med en if-setning. Gjør det samme som over.
var a = 3;
if (a < 1) {}
else if (a > 10) {} 
else {document.write('a er mindre enn 1 eller større enn 10. ');}
</script>
<script> // Eller som if-setning.
var x = false;  var y = false;  // x og y tildeles en boolsk verdi.
var b = false;
if (x) {b = true;} else if (y) {b = true;}
if (b) {document.write('b == true. ');} else {document.write('b == false. ');}
</script>

switch

Switch er en annen måte å sjekke betingelser på. f.eks. istedet for mange if else-if utsagn.

<script>
var a = 2;

switch (a)
{
case 1: { mld = 'a == 1. '; break; }
case 2: { mld = 'a == 2. '; break; }
case 3: { mld = 'a == 3. '; break; }
default: mld = 'a har ukjent verdi. ';
}
document.write(mld);
</script>

Switch-setningen tar en enkelt variabel som inndata og sjekker denne mot alle de andre verdiene.

break-kommandoen avslutter switch når den finner et treff. Det sparer litt tid.

default fanger opp de tilfeller hvor det ikke er treff.

 

 

Løkker

Løkker (loop) er nyttig når en trenger å utføre samme operasjon mange ganger etter hverandre.


For

For-løkker kan brukes når en på forhånd vet hvor mange ganger kommandoen skal utføres.

En tom for-løkke kan se slik ut:  for () {}

Inne i (parentesen) er en startverdi og sluttverdi for en variabel samt, en forøkelsesfaktor.
I {krøllparentesene} er php-kommandoer.

Eksempel 1:

<script>
for (var i = 1; i <= 10; i++) 
{document.write(i);}
</script>

Kommandoen begynner med nøkkelordet for.

Inne i parentesen får variabelen i en startverdi = 1.

Deretter følger en betingelse som repeteres sålenge den er sann. I dette tilfelle at variabelen i er mindre eller lik tallet ti.

For hver repetisjon økes variabelen i med 1.

Kommandoene utføres mellom {krøllparentesene}. I dette tilfelle skrives verdien av i ut.


While

En tom while-setning kan se slik ut:  while (betingelse) {kommandoer}

While-løkken repeteres så lenge betingelsen er sann.

Eksempel 1:

<script>
var i = 1;   // Variabelen i tilordnes startverdien 1.

while(i <= 5)   // Betingelsen sjekkes.
{
document.write('Variabelen i = ' + i + ".<br>");
i++;  //For hver repetisjon økes variabelen i med 1.
} 
</script>

Eksempel 2: Samme program hvor verdiene skrives ut i en html-tabell.

<script>
document.write("<table>");

var i = 1;   // i tilordnes startverdien 1.

while(i <= 5) 
{
document.write("<tr><td>");

document.write('Variabelen i = ' + i + '.<br>');
i++;
document.write("</td></tr>");
} 

document.write("</table>");

</script>

Do ... while

Do er en modifisert utgave av en while-loop.

En tom do-setning kan se slik ut:  do {kommandoer} while (betingelse);

Kommandoen begynner med nøkkelordet do fulgt av kommandoer og en while-betingelse.

Forskjellen fra while er at løkken blir kjørt minst en gang selv om betingelsen er usann. Det er fordi betingelsen blir sjekket etter at løkken kjøres første gang.

Eksempel 1:

<script>
var i = 1;   // i tilordnes startverdien 1.

do
    {
    document.write('Variabelen i = ' + i + ". <br>");
    i++; 
    } 
while (i <= 0);

</script>

Eksempel 2, med break.

<script>
var i = 1;
do
{
document.write('Variabelen i = ' + i + ". <br>");
i++; 
Break;
} 
while (i <= 10);

document.write("Løkken er stoppet og fortsetter med etterfølgende kode utenfor løkken.");
</script>

Break stopper løkken og fortsetter med eventuell etterfølgende kode utenfor løkken.

Eksempel 3, med continue.

<script>
var i = 1;

do
{
i++; 
if (i <= 6) {continue;}  // Hopper over tallene til seks.
document.write('Variabelen i = ' + i + ". <br>");
} 
while (i <= 10);
</script>

Kommandoen continue bryter en loop før den er fullført. Når variabelen $i har nådd en gitt verdi, fortsetter løkken på nytt, uten å utføre etterfølgende kommandoer.

 

 

Matriser (array)

En array er en spesiell variabel som kan inneholde flere verdier. Verdiene kan hentes fram ved å referere til en nøkkel-indeks.

En array kan sees på som en matrise eller tabell som består dataelementer. Hvert element har nøkkel (eller indeks) og tilhørende verdi. Elementene er indeksert fra 0 og oppover.

Innholdet i matrisen kan ha ulik datatype.

Eksempel 1: Éndimensjonal matrise

<script>
var a = []; // Lager en tom matrise.
a[0] = "Her en liten tekststreng. ";
a[1] = "Andre tekststreng. ";
a[2] = "Tredje tekststreng. ";
document.write(a[0] + a[1] + a[2]);
</script>

Denne matrisen kan sees på som en éndimensjonal tabell med et tre dataelementer som er indeksert fra 0 til 2.

For å referere til enkeltelementer brukes arraynavn og indeks. Arraynavnet kalles derfor også for en indeksert variabel.

Arrayvariabelen er en peker til arrayobjektet.


Eksempel 2: Array-funksjonen.

new Array() er en funksjon som kan opprette en matrise.

<script>
var a = new Array ("a", " b", " c", " d. ");
// Samme som over. Indekseringen er automatisk.

document.write(a[0] + a[1] + a[2] + a[3]);
</script>

Indeksene legges til automatisk, (og starter alltid på 0).


Eksempel 3: Innholdet i matrisen kan endres.

<script>
var a = ["a", " b", " c", " d. "];

a[0] = "d ";
a[1] = "e ";
a[2] = "f. ";

document.write(a[0] + a[1] + a[2] + a[3]);
</script>

Her er innholdet abc endret til def.


Eksempel 4: Sortering.

Matriser kan sorteres, f.eks. med: sort().

<script>
var a = ["i. ", "h ", "g "];
a.sort();  // Sorterer tekster alfabetisk.
a.reverse(); // Sorterer motsatt.
document.write(a[0] + a[1] + a[2]);
</script>

Eksempel 5: En for-løkke kan skrive ut alle elementene.

<script>
// Skriver ut elementene i en matrise vha. en for-løkke.
bokstavmatrise = ["a", " b", " c", " d. "];
var antall = bokstavmatrise.length - 1;
for (var i=0; i <= antall; i++ ) {document.write(bokstavmatrise[i]);}
</script>

Eksempel 6: Elementer kan tilføyes og fjernes med push og pop.

<script>
bokstavmatrise = ["a", "b", "c"];

// Legger til et nytt element på slutten.
bokstavmatrise.push("d");   // ["a", "b", "c", "d"]
// Nøkkel er ikke spesifisert, 
// men på dette stedet i koden er det det samme som x[3] = "d";

// Legger til et nytt element med nøkkel "4".
bokstavmatrise[bokstavmatrise.length] = "e";   // ["a", "b", "c", "d", "e"]

// Fjerner det siste elementet.
bokstavmatrise.pop();		// ["a", "b", "c", "d"]

// Sletter element nr 2.
delete bokstavmatrise[2];  	// bokstavmatrise = ["a", "b",,"d"]

</script>

foreach

Foreach kan gå gjennom alle elementene i en matrise.


Eksempel: foreach kan skrive ut alle elementene.

<script>

bokstavmatrise = ["a", " b", " c", " d. "];

// Viser alle elementer i matrisen.
bokstavmatrise.forEach( function(x) {document.write(x);} );

</script>

Eksempel: foreach kan slette alle elementene.

<script>
bokstavmatrise = ["a", " b", " c", " d. "];

// Sletter alle elementene i matrisen.
function slettElement() {bokstavmatrise[nr] = "";}

bokstavmatrise.forEach(slettElement());
document.write(bokstavmatrise);
</script>

Eksempel: Tekstnøkler (assosiativ matrise).

Tekstnøkler (assosiativ matrise) støttes ikke i Javascript.

 

 

Todimensjonal matrise

Eksempel: Todimensjonal matrise

<script>
var brett = [];
brett[7] = ["a","b","c","d","e","f","g","h"];
brett[6] = ["a","b","c","d","e","f","g","h"];
brett[5] = ["a","b","c","d","e","f","g","h"];
brett[4] = ["a","b","c","d","e","f","g","h"];
brett[3] = ["a","b","c","d","e","f","g","h"];
brett[2] = ["a","b","c","d","e","f","g","h"];
brett[1] = ["a","b","c","d","e","f","g","h"];
brett[0] = ["a","b","c","d","e","f","g","h"];
</script>

Følgende kode skriver ut elementene av brettet i en tabell.

<script>
document.write("<style>");
document.write("table {");
document.write("border:1px solid blue;");
document.write("border-collapse:collapse;");
document.write("}");
document.write("td{border:1px solid blue; padding: 15px;} ");
document.write("</style>");


//var antlinjer = count(brett);  // Lengden av en matrise.
//var antrader = count(brett['1']);

var antlinjer = 7;
var antrader = 7;
var felt;

document.write("<p><b>Brett:</b></p>");

document.write("<table>");
for (var linje = antlinjer; linje >= 1; linje--) 
{
//document.write("<tr><td>linje</td>");

for (var rad = 0; rad < antrader; rad ++) 
{
//document.write("<td>" + brett[linje][rad] + "</tdc");
document.write("<td>");
felt = brett[linje][rad];
document.write(felt);
document.write("</td>");
}
document.write("</tr>");
}

document.write("</table>");
</script>

 

 

Skjema


Vis skjema

Her er et skjema som viser en tekst:

Hva heter du:

HTML-koden ser slik ut:

<form class="kode" style="width:20em;" >

Hva heter du: <input type="text" name="feltNavn"> 

<input type="button" value="Vis navn" 
onclick="alert(form.feltNavn.value)">

</form>

Når brukeren klikker Vis navn vises innholdet i feltet i en dialogboks.


Summeringer

Skriv inn noen heltall, adskilt med plusstegn:

HTML-koden ser slik ut:

<form> Skriv inn noen heltall, adskilt med plusstegn: <br>   
<input id="Tall" type="text" value="1 + 2 + 3 + 4">
<input type="button" value="Summer" onclick="summer();"
</form>

Javascript-koden ser slik ut:

<script> 
function summer() 
{
var i; var x; var sum=0;  // Deklarasjoner.

var vListe = document.getElementById('Tall').value;
vListe = vListe.split("+"); // Konvererer til et array.

for (i = 0; i < vListe.length; i++) 
{
x = vListe[i];
x = parseInt(x);   // Konverterer til heltall.
sum += x; 
}

alert("Summen er " + sum + ".");
return sum;
}

</script>

Epost skjema

Javascript kan brukes til å sende epost.



HTML-koden ser slik ut:

<form action="mailto:epost@adresse.no" method="get" autocomplete="off">     
<input type="text" name="subject" placeholder="Overskrift"><br>
<textarea name="body" placeholder="Melding"></textarea><br>
<input type="submit">
</form>

Dette forutsetter at brukeren har en epost-klient installert.


Epost til tjener

Epost kan også sendes til tjeneren.



Det må være et skript på tjenersiden som tar imot skjemaet, og behandler det.

HTML-koden ser slik ut:

<form action="epost.php" method="POST">     
<input type="text" name="subject" placeholder="Overskrift"><br>
<textarea name="body" placeholder="Melding"></textarea><br>
<input type="submit">
</form>

Når brukeren klikker Send sendes skjema til behandling til en PHP-fil.

 

 

Filbehandling

Javascript har tidligere hatt begrensede muligheter for skrive til disk, pga. sikkerhet.

Skriving har vært begrenset til infokapsler.

Etterhvert er det kommet flere muligheter med local storage og indexedDB.


Les fil med readfile

Lesing fra disk har tidligere ikke vært mulig.

HTML5 introduserer readfile API som kan lese innholdet i filer på brukerens disk.
readfile kan lese tekstfiler, bilder og lage fil-URLer.


Filopplastning

Lag først et HTML skjema som gjør at brukeren kan velge en fil på sin egen maskin og laste den opp til et midlertidig sted på tjener-maskinen:

Velg fil som skal lastes opp:

HTML-koden ser slik ut:


<form
method="POST"
action="filopplastning.php" 
enctype= "multipart/form-data"
>

<!-- Spesifiserer hvordan filen skal kodes ved overføring til tjener. 
enctype= "multipart/form-data" må brukes når 
skjemaer inneholder <input type="file"> elementer.
-->


<input type="hidden" name="MAX_FILE_SIZE" value="20000">
<!--
Dette er et skjult felt som angir maksimal filstørrelse i antall byte.
20000 byte = 20kB. Passende størrelse kan 
f.eks. være 1MB for bilder og 10MB for video.
Direktivet må komme før input-feltet.
Verdien av MAX_FILE_SIZE sendes til max_file_size variabelen i PHP.
Hensikten er å stoppe store filer før de lastes opp.
Det handler om brukervennlighet 
og ikke om sikkerhet fordi det er lett å omgå denne sperren.
Direktivet kan godt utelates fordi den virkelige sjekken
må skje i PHP-koden eller i PHP.ini.
-->

Velg fil som skal lastes opp:<br>
<input 
name="filref"
type="file"
>
<!-- filref er referansen til filen. 
Navnet filref går til filnavnet i variabelen $_FILES['filref']['name'].
-->



<input 
type="submit"
value ="Last opp fil." 
>

<!-- 
Når brukeren trykker på knappen lastes filen opp til et midlertidig lager. 
Referansen lagres den globale variabelen $_FILES. 
-->

<!-- Deretter blir skjemaet sendt til filen spesifisert i action 
som i dette tilfelle er filopplastning.php. -->

</form>


Dato

<script> 
function dato()
{
var dto = new Date();		// Dagens dato i utvidet format.

var dag = dto.getDate();    	// Plukker ut dagnummeret.
var mnd = dto.getMonth();	// Plukker ut månedsnummeret.
mnd++;  	// Legger til for å kompensere for nullindeksen.
var aar = dto.getFullYear();	// Plukker årstallet.
if(dag < 10) {dag ='0'+ dag}	// Legger til eventuelle nuller foran.
if(mnd <10) {mnd ='0'+ mnd}	// Legger til eventuelle nuller foran.
dto = dag + "." + mnd + "." + aar ;

alert("Dagens dato er: " + dto + ".");  
// Viser datoen på riktig format: dag.mnd.åååå.
}
</script>

 

 

Funksjoner

Funksjoner gjør det lettere å modulere koden i mindre oppgaver.

Funksjoner starter med kodeordet function.

Deretter følger navnet på funksjonen.

Eksempel:

<script>


function funksjonsnavn1()
{
document.write("Hei, her er kode fra funksjonen.");
}

funksjonsnavn1();    //Funksjonskall.

</script>

Funksjonen inneholder kommandoer inne i { krøllparentesene }. Den siste krøllparentesen avslutter funksjonen.

Funksjoner aktiveres med et funksjonskall.


Funksjoner kan ha parametre.

Funksjoner har ofte parametre inne i parentesen.
Er det ingen parametre er parentesen tom.

<script> // Funksjoner kan ha parametre.

function funksjonsnavn2(p1,p2,p3)
{
document.write(p1, p2, p3);
}

var p1 = "Hei, ";
var p2 = "her er kode fra funksjonen, ";
var p3 = "med tre parametre. ";

funksjonsnavn2(p1,p2,p3);

</script>

Funksjoner kan bruke globale variable.

<script> // Funksjoner kan bruke globale variable.

function funksjonsnavn3()
{
document.write(p1, p2, p3);
}

var p1 = "Hei, ";
var p2 = "her er kode fra funksjonen, ";
var p3 = "med globale parametre. ";

funksjonsnavn3();  // Ingen parametre.

</script>

Her er p1, p2 og p3 globale variable, som også blir kjent på innsiden av funksjonen.


Funksjoner kan ha returverdi.

<script> // Funksjoner kan ha en returverdi.

function summer(x,y)
{
   sum = x + y;
   return sum;
}

document.write("Summen av 1 + 2 = " + summer(1,2) + ".");

</script>

Referanse-parametre.

Referanseparametre er peker til den opprinnelige variabelen. En endring i funksjonen endrer også på den originale variabelen.

Javascript funksjoner har ikke referanse-parametre.


Funksjoner med mange parametre.

<script>  // Funksjoner med mange parametre.

function funksjonsnavn4() 
{
// En innebygd funksjon returnerer alle parametrene i en matrise.
parametre = arguments;

for (i = 0; i < parametre.length; i++) {
document.write(parametre[i]);
}
}

p1 = "Hei, ";
p2 = "her er kode fra funksjonen, ";
p3 = "med flere parametre. ";

funksjonsnavn4(p1,p2,p3);

</script>

 

 

Objekter

Objekter er datatyper som kan inneholde data i form av variable og funksjoner.

Objekter defineres med klasse-navn.

<script>
var person = 
{
fornavn: "Nils", 
etternavn:"Aslaksen", 
alder: 60
};

function fornavn(egenskap)
{alert(person.fornavn);}

function visEgenskap(egenskap)
{
var personegenskap = "person." + egenskap;
alert (eval (personegenskap));
}
</script>
<script>  // Objekter kan inneholde funksjoner.
var person = 
{
fornavn: "Nils", 
etternavn:"Aslaksen", 
fulltNavn: function() {return this. fornavn + " " + this.etternavn;},
settNavn: function() {this.fornavn = "Martin";}
};

function visNavn() {alert(person.fulltNavn());}
function settNavn() {person.settNavn();}

</script>

Fordelen med funksjoner for å modifisere innholdet i objektet er at funksjonene sett og hent antas å være fast over den tiden objektet vedlikeholdes. Innholdet i objektet, navn på variabler, funksjoner osv. kan endres uten at konteksten trenger å endres.

 

<script>  // Objekter kan ha skjulte egenskaper.

var person = 
{
var fornavn: "Nils", 
etternavn:"Aslaksen"
};

</script>

Her er fornavn og etternavn privat for objektet, og kan ikke aksesseres utenfra.

 

 

JavaScript versus Java

Forskjeller:
– Java har ingenting med JavaScript å gjøre, med unntak av navnelikhet og likhet i syntaks.
– JavaScript er interpreterende skriptspråk. Java er et kompilert språk.
– JavaScript lager ikke applets eller selvstendige programmer.
– Javascript kan være vanskelig å teste og vedlikeholde.
– Java er trolig sikrere. JavaScript kan byttes ut uten at brukeren merker det (ingen kodesignering).
– Java er mer OO enn JS. JS mangler et klart klasse-begrep, som gjør at det ikke egner seg til OO-opplæring.
Likheter:
– Begge er OO-programmeringsspråk.
– Begge er plattformuavhengig. JS trenger i tillegg en nettleser eller en runtime for å kjøre selvstendig.

JavaScript versus PHP

Forskjeller:
– PHP er et tjenersidespråk, laget for å generere HTML-kode. Krever en vevtjener for å fungere.
– Javascript er et klientsidespråk, og krever bare en nettleser for å fungere.
– JavaScript har mange begrensninger. Kan ikke lese eller skrive til filer, osv.
– JavaScript er derfor sikrere enn PHP.
– Javascript kan være vanskelig å teste og vedlikeholde.
– JS mangler et klart klasse-begrep, som gjør at det ikke egner seg til OO-opplæring.
– PHP lager dynamiske vev-sider.
– Javascript avhenger av nettleseren. Forutsetter at JS ikke er deaktivert. Ulike nettlesere har ulik støtte for JS og kan behandle JS-kode ulikt.
– PHP er uavhengig av nettleseren.
– PHP er usynlig for brukeren, fordi resultatet av PHP er HTML.
– PHP er skrevet med åpen kildekode. Dvs. at hele kildekoden er tilgjengelig.
Likheter:
– Begge er interpreterende skriptspråk, som ikke trenger kompilering.
– Syntaksen er helt lik i mange kommandoer. F.eks. if () {}.
– Begge er plattformuavhengig.
– Begge er OO-programmeringsspråk.

 

 

Historikk

Brendan Eich i Netscape utviklet Mocha.
1995. Mocha ble omdøpt til LiveScript.

September 1995. LiveScript ble sluppet i Netscape Navigator 2 beta.

04.12.1995. LiveScript ble omdøpt til JavaScript i Netscape 2.0.

1996. Microsoft utviklet JScript, som var en dialekt av JavaScript.

August 1996. JScript ble inkludert i Internet Explorer 3.0.

Juni 1997. ECMA publiserte første utgave av ECMAScript, ECMA-262 spesifikasjonen.
Juni 1998. I andre versjon ble det gjort noen modifikajoner for å tilpasse spesifikasjonen til ISO/IEC-16262 standard.

Desember 1999. Tredje utgave av ECMA-262 ble publisert.

2005. AJAX (Asynchronous JavaScript and XML) ble introdusert.

Desember 2009. ECMAScript 5. (Fjerde ble aldri ferdig.)

2010. Oracle kjøpte Sun Microsystems.

2010. Navnet JavaScript ble et varemerke eid av Oracle.

Juni 2011. ECMAScript 5.1.

Juni 2015. ECMAScript 6 (ECMAScript 2015). 6te utgave av ECMA-262.    (=> Funksjonspiler.)

Juni 2015. 6te utgave av ECMA-262.

Juni 2016. ECMAScript 7 (ECMAScript 2016).

Juni 2017. ECMAScript 8 (ECMAScript 2017).

Juni 2018. ECMAScript 9 (ECMAScript 2018).

Juni 2019. ECMAScript 10 (ECMAScript 2019).

 

 

Litteratur

«Object-Oriented JavaScript» av Stoyan Stefanov. Packt Publishing. 320 sider.
Grundig innføring og fin start for å lære JavaScript fra bunnen av.
Godt egnet hvis man kommer fra et annet objektorientert språk som f.eks JAVA.
«JavaScript: The Good Parts». Unearthing the Excellence in JavaScript av Douglas Crockford. 150 sider. Mai 2008.
JavaScript har gode og dårlige sider. Etter å ha lært det grunnleggende i språket, blir det viktigste å få oversikt over hva som er godt og dårlig. Essensiell kunnskap fra mannen som ‹oppfant› JSON.
«JavaScript: The Definitive Guide» av David Flanagan. Utgitt av O'Reilly & Associates, ISBN: 0-59600-048-0. Over 1000 sider.
Dette er en oppslagsverk og referanseguide til alt som har med JavaScript å gjøre.
«Javascript Patterns» av Stoyan Stefanov.
«Pro JavaScript Design Patterns». For viderekommende.
«High Performance JavaScript (Build Faster Web Application Interfaces)» av Nicholas C. Zakas.
«The JavaScript Bible» av Danny Goodman, utgitt av IDG Books, ISBN: 0-7645-3342-8.
«Dynamic HTML, The Definitive Reference» av Danny Goodman, utgitt av O'Reilly & Associates, ISBN: 1-56592-494-0.
«Speaking JavaScript: An In-Depth Guide for Programmers» av Dr. Axel Rauschmayer. Free.    speakingjs.com

Lenker

Validering:  jslint.com.

 

 

Ordliste

AJAX  –  Asynchronous JavaScript And XML.
Se også:  AJAX  JavaskriptOrdbok.html 
Betingelse  –  er et uttrykk som enten kan bli sann eller usann.
Det enkleste er sammenligning av variabler, (x == y). Det brukes to eller tre likhetstegn.
Hvis en bruker bare ett likhetstegn er det en ugyldig sammenligning.
Se også:  Betingelse 
Bool  –  bare to verdier, sann eller usann (true eller false).
TRUE er en konstant som er sann.
FALSE er en konstant som er usann.
Se også:  Bool 
CSS  –  Stilsett (Cascading Stylesheets).
Se også:  CSS  HTML  JavaScript  Vevside  CSS.html  CSSordbok.html  Internettordbok.html 
Dato  –  er et forhåndsdefinert objekt.
Kommandoen new Date(); gir dagens dato.
Se også:  Dato 
DHTML  –  Dynamisk HTML, er en samlebetegnelse hvor man med statisk HTML, CSS-skripting i kombinasjon med JavaScript og DOM lager interaktive og animerte websider.
Se også:  DHTML  JavaskriptOrdbok.html 
document.write()  –  kan brukes til å skrive ut tekst til vevsiden.
Se også:  document.write  JavaskriptOrdbok.html 
DOM  –  Document Object Model er en struktur som nettleseren lager etter å ha lest et HTML-dokument.
Se også:  DOM  HTML  HTMLordbok.html  CSSordbok.html  HTMLordbok.html  JavaskriptOrdbok.html 
ECMAScript  –  er standarden som JavaScript er basert på.
Se også:  ECMAScript   JavaskriptOrdbok.html 
Flyttall  –  er tall med komma.
Se også:  Flyttall  Heltall  JavaskriptOrdbok.html 
For-løkker  –  kan brukes når en på forhånd vet hvor mange ganger kommandoen skal utføres.
Se også:  For  Løkker  JavaskriptOrdbok.html 
Fnutter  –  kan være enkeltfnutt (') eller dobbeltfnutt (").
Se også:  Fnutter  JavaskriptOrdbok.html  HTMLordbok.html  Internettordbok.html 
Funksjoner  –  gjør det lettere å modulere koden i mindre oppgaver.
Argumenter finnes i en spesialvariabelen arguments.
return brukes til å returnere en verdi fra funksjonen.
Se også:  Funksjoner  Objekter  JavaskriptOrdbok.html 
Heltall  –  (integer) er tall uten desimaltegn.
Kan være både positive og negative.
Se også:  Heltall  Flyttall  Heltallsdivisjon  JavaskriptOrdbok.html 
Heltallsdivisjon  –  x%y;
Se også:  Heltallsdivisjon  Heltall  JavaskriptOrdbok.html 
HTML  –  Hyper Text Markup Language er et markup-språk for å beskrive innholdet i hjemmesider på Internett.
Se også:  HTML  CSS  JavaScript  Vevside  HTML.html  HTMLordbok.html  CSSordbok.html  Internettordbok.html 
i++  –  betyr det samme som  i = i + 1;
Imidlertid er i++ litt raskere.
Se også:  i++  JavaskriptOrdbok.html 
IDE  –  Integrated Development Environment.
Se også:  IDE  JavaskriptOrdbok.html 
if (betingelse) {kommandoer}  –  Betingelsen er et logisk uttrykk.
Se også:  if  Logikk  switch  JavaskriptOrdbok.html 
Java  –  er et OO-programmeringsspråk utviklet av Sun Microsystems.
Se også:  Java  JavaskriptOrdbok.html 
JavaScript  –  er et skriptspråk som kan brukes til å programmere websider.
Se også:  JavaScript  CSS  HTML  SVG  Vevside  Internettordbok.html  JavaskriptOrdbok.html  Internettordbok.html 
Knapper  –  Det finnes tre ferdiglagde pop-up bokser: alert, confirm og prompt.
Se også:  Knapper  Popup  JavaskriptOrdbok.html 
Kommentarer  –  kan være:
// dobbelslash gjelder for en linje.
/* for kommetarer som går over flere linjer. */
Se også:  Kommentarer  //  /**/  JavaskriptOrdbok.html  CSSordbok.html  HTMLordbok.html 
//  –  Kommentartegn som gjelder for en linje.
Det er det samme som brukes bl.a. i CSS og PHP.
Se også:  //  Kommentarer  JavaskriptOrdbok.html 
/* Multilinje-kommentartegn */    kan brukes for kommentarer over flere linjer.
Det er samme som brukes bl.a. i CSS, PHP, C, C++ og Java.
Se også:  /**/  Kommentarer  //  JavaskriptOrdbok.html 
Konkatenering  –  To tekststrenger legges sammen med et plusstegn (+).
Se også:  Konkatenering  JavaskriptOrdbok.html 
Konstanter  –  deklareres med nøkkelordet const.
Se også:  Konstanter  JavaskriptOrdbok.html 
Logikk  –  Boolske verdier kan ha to verdier; TRUE og FALSE + pluss udefinert.
Se også:  Logikk  if  JavaskriptOrdbok.html 
Løkker  –  Sløyfer. Loops.
Break stopper løkken og fortsetter utenfor løkken.
Continue bryter og fortsetter fra starten av løkken.
Se også:  Løkker  For  While   JavaskriptOrdbok.html 
Matrise  –  (array) er en spesiell variabel som kan inneholde flere verdier.
Se også:  Matrise  Multidimensjonale matriser  JavaskriptOrdbok.html 
Multidimensjonale matriser  –  kan ha to eller flere indekser.
Se også:  Matrise  Multidimensjonale matriser 
NaN  –  Not a Number.
Se også:  NaN  JavaskriptOrdbok.html 
Objekter  –  kan opprettes på tre forskjellige måter:
Objekt-literaler: var myObject = {};.
Object create-metode.
New-operatoren sammen med en konstruktør-funksjon.
Se også:  Objekter  Funksjoner  JavaskriptOrdbok.html  
PHP  –  er et tjenerside-skriptspråk som kan brukes til å lage dynamiske og interaktive vev-sider.
Se også:  PHP  PHP.html  Internettordbok.html 
Ren tekst  –  er tekst uten formatering.
Se også:  Ren tekst  Unicode  Internettordbok.html  HTMLordbok.html 
 ; Semikolon  –  brukes for å avslutte kommandoer.
Det kan være flere kommandoer på samme linje,
men det naturlige er å ha en kommando på en linje.
Se også:   ;   JavaskriptOrdbok.html 
SVG  –  Scalable Vector Graphics.
Se også:  SVG  CSS  HTML  JavaScript  XML 
switch  –  er en måte å sjekke betingelser på,
f.eks. istedet for mange if elseif utsagn.
Se også:  switch  if  JavaskriptOrdbok.html 
Unicode  –  er en universell tegnkoding med alle verdens bokstaver og tegn.
Se også:  Unicode  HTML  Internettordbok.html 
Variabel  –  kan sees på som en beholder med en verdi inni. Rent fysisk er det minnecelle som inneholder en viss verdi.
Variabelen må ha et unik navn i den konteksten der er.
Navnet kan tenkes på som en peker til variabelen.
Verdier tilordnes med = tegnet.
Fnutter brukes for å angi at innholdet er en tekst.
Se også:  Variabel  Objekter  JavaskriptOrdbok.html 
Variabler  –  deklareres ikke, men skapes idet de tilordnes en verdi.
Verdier tilordnes med = tegnet.
Variabler kan deklareres med nøkkelordet var. Variabelen er da lokal, dvs. at den kun er kjent innenfor blokken den er definert i, og usynlig utenfor.
Ikke-definerte variabler gjelder globalt, dvs. at de gjelder utenfor funksjoner, selv om de er brukt innenfor.
Globale variabler må og bør defineres utenfor funksjoner.
Variablene er case-sensitiv.
JavaScript er svakt typet språk. Variablene er ikke typedefinert og kan dermed peke til alle typer objekter. Selv om en variabel er tilordnet et tall, kan den i neste omgang settes til å peke på en tekst.
Se også:  Variabler  JavaskriptOrdbok.html 
Vevside  –  JavaScript kan bl.a. brukes i vev-sider sammen med html og css-koder.
Koden lastes ned til nettleseren sammen med dokumentet.
Se også:   Vevside  CSS  HTML  JavaScript  JavaskriptOrdbok.html  HTMLordbok.html  CSSordbok.html  Internettordbok.html 
Vevtjener  –  Webserver.
Se også:  Vevtjener  Internettordbok.html 
while (betingelse) {kommandoer}  –  utfører kommandoene så lengen betingelsen er sann.
Se også:  While   Løkker   JavaskriptOrdbok.html 
XML  –  eXtensible Markup Language.
Se også:  XML  HTML  CSS  JavaskriptOrdbok.html  Internettordbok.html 
Åpen kildekode  –  er åpen for innsyn fra alle, kan modifiseres av alle, kan gjenbrukes i annen programvare og fritt distribueres til andre.
Se også:  Åpen kildekode  Åpen standard  HTMLordbok.html  Internettordbok.html 
Åpen standard  –  er fritt tilgjengelig, fri bruk, avgiftsfri, plattformuavhengig.
Se også:  Åpen standard  Åpen kildekode  HTMLordbok.html  Internettordbok.html