Javascript
Javascript har sine røtter hos Netscape og er definert som ECMA-script. Se ECMA-script på Wikipedia [1] og ECMA [2]
JavaScript er et objektorientert skriptingspråk. Det er ikke en "lightversjon" av Java. JavaScript brukes i hovedsak for å programmere dynamikk på vevsider. Opp gjennom årene har JavaScript blitt vurdert på forskjellig måte. Noen har dømt språket til en snarlig død, mens andre har vært mer entusiastisk. I skrivende stund ser det ut til at JavaScript har fått en ny vår. Microsoft bruker JavaScript som en integrert del av sine .Net-løsninger og det dukker opp nye utviklingssverktøy/strategier som i stor grad er basert på JavaScript.
Årsaken til dette er vel først og fremst at alle de sentrale nettleserne støtter tilgang til to viktige programmeringsmekanismer: DOM-programmering og tilgang til import av fragmenter til en vevside. Disse mekanismene er realisert ved to objekter vi kan nå fra JavaScript: Document og XMLHttpRequest. Disse to mekanismene, hver for seg og tilsammen, muliggjør en arbeidsdeling mellom klient og tjener som legger mer ansvar på klienten. Eller for å si det på en annen måte: Vi kan lage mer selvforsynte og dynamiske vevsider. Kombinasjonen av de to mekanismene omtales ofte som AJAX (Asynchronous JavaScript And XML).
Begge mekanismene ovenfor er avhengig av JavaScripts muligheter for å plukke opp brukergenererte begivenheter som musebevegelser, tastetrykk, fokusendringer etc.
Generelt kan vi notere oss at JavaScript har en syntaks som ligner ganske mye på Java. Vi har variable, men ikke typer. Vi har arrayer og de viktigste kontrollstrukturene som if-else, repeat, for, while. Vi kan drive unntaksprogrammering, try-catch-finally.
I de følgende modulene vil vi ta opp de vanligste anvendelsene av JavaScript på vevsider.
Det finnes et svært stort antall vevsider på nettet med løsningsforslag i form av JavaScript-kode for de forunderligste problemer og finurligheter. Mange av kodeeksemplene du finner er skrevet for gamle nettlesere og er unødig kompliserte. Typisk er at de ikke bruker DOM. Vær litt kritisk til en del av denne koden. Ofte kan den både forenkles og gjøres mer robust.
.Plassering av JavaScriptet
Vi kan i prinsipp plassere javaScript-kode hvor vi vil på en HTML-side. Koden skal pakkes inn i script-elementer.
<script type="text/javascript" type="text/javascript"> function myfunction() { ... } </script>
Det er ikke særlig lurt å spre skriptkoden, og normalt samler vi koden i head-elementet på en HTML-side. Fordelen er da at scriptet er på plass når resten av siden lastes og eventuelt forsøker å bruke det.
Det er ofte en god ide å legge skriptet på en fil for seg og la nettleseren hente det når siden lastes:
<script type="text/javascript" src="mycode.js"></script>
Det er to grunner til dette. Den ene grunnen er den åpenbare at vi kan vedlikeholde skriptet ett sted selv om det brukes på mange sider. Den andre grunnen er at vi sparer litt tid ved at skriptfila caches og altså ikke trenger å lastes hver gang sider lastes.
Dersom vi inkluderer skriptet på selve siden er anbefalt å maskere javaskriptkoden slik at den ikke parses som en del at det XHTML-dokumentet er plassert på. Dette kan vi gjøre slik:
<script type="text/javascript"> //<![CDATA[ function f() { T=''; for(ix=1; ix < 4; ix++) T+=ix; alert(T+' : kjør'); } //]]> </script>
På denne måten unngår vi at tegn som < og > i skriptet blir tolket som en del av dokumentstrukturen.