JavaScript
Børre Stenseth

Litt om språket

Minner om at JavaScript ikke er noen lightversjon av Java. Vi vil se at det er mange likhetstrekk i syntaksen, men det er også store forskjeller.

Dette er ikke noe forsøk på en mer eller mindre komplett lærebok i, eller beskrivelse av, JavaScript. Hensikten er bare å peke på noen mekanismer som erfaringsmessig er litt vanskelige å få tak og som skaper litt forvirring.

Disse modulene fokuserer på selve språket og trekker i liten grad inn objekter eller mekanismer nyttet til omgivelsene som browser og document. Det eneste vi gjør i starten er å lese eller plassere innhold i identifiserbare elementer i HTML-koden:

S=document.getElementById("start").innerHTML;
document.getElementById("dump").innerHTML="hallo";

og vi kaller en funksjon, i dette tilfellet den innebygde funksjonen alert, når vi klikker på et buttonelement.

<button onclick="alert('du klikket')">klikk!</button>

test her:

JavaScript er et interpretert språk. Det vil si at koden kompileres ikke i sin helhet før den kjøres. Dette har noen konsekvenser. På den ene siden har vi noen frihehtsgrader i JavaScript som vi ikke har i språk som Java, C++ eller C#. På den andre siden har dette noen konsekvenser som er litt vanskelig å forstå før en har jobbet litt med det. En av konsekvensene er at det er noen feil vi ikke vi ikke oppdager før vi kjører en spesiell funksjon. En annen konsekvens er at det av og til oppstår i situasjoner som krever at vi må ta noen forholdsregler for å hindre at verdier endres på grunn av den dynamikken som følger av at alt ikke er på plass når programmet starter. Vi kommer tilbake til dette etter hvert.