JavaScript
JavaScript | |
Paradigm | multi-paradigm |
---|---|
Gavs ut | 1995 |
Skapat av | Brendan Eich |
Utvecklare | många |
Senaste version | 1.8 (2008) |
Datatypsdisciplin | weak, duck, dynamic |
Implementationer | SpiderMonkey, Rhino, WebKit, V8, KJS, Carakan, Chakra |
Influerat av | C, Java, Perl, Python, Scheme, Self |
Influerat | ActionScript, CoffeeScript, Dart, JScript .NET, Objective-J, QML, TIScript |
Javascript är ett prototyp-baserat skriptspråk som är dynamiskt, svagt typat och hanterar funktioner som första-klass-objekt. Javascript används främst på klientsidan i webbtillämpningar, det vill säga exekveras i en webbläsares javascript-motor. Då Javascript används i webbläsare arbetar det mot ett gränssnitt som kallas Document Object Model (DOM). Vanligtvis inbäddas Javascript i, eller inkluderas från, HTML-sidor. Exempel på användningsområden är kontroll av ifyllda fält innan formulär skickas till en server, funktioner för att visa eller dölja delar av en sida och växling av annonsbilder med visst intervall. Javascript kan även användas för mer avancerade funktioner i en webbläsare såsom spel och bildbehandling.
Skriptspråket kan även användas som inbyggt skriptspråk i andra program än webbläsare (mer sällsynt). Exempelvis på serversidan, där objekten som manipuleras av naturliga skäl är andra än på klientsidan (webbläsaren), kan man arbeta med anslutningar till databaser, skicka e-postmeddelanden och så vidare.
En Javascriptmotor är en specialiserad programvara som exekverar Javascript, särskilt för webbläsare.
Historia och namngivning
Javascript utvecklades ursprungligen av Brendan Eich, då under namnet Mocha som senare ändrades först till Livescript men i och med att Netscape ungefär samtidigt började stödja Sun Microsystems programspråk Java i syfte att kunna ha miniprogram i webbläsaren, valde man att kalla det Javascript, främst i marknadsföringssyfte. Förutom namnet har Javascript inget med programspråket Java att göra förutom att de delar programspråket C:s syntax. Det faktum att namnen liknar varandra har lett till en del förvirring.
Javascript dök för första gången upp i Netscape Navigator 2.0B3, släppt i december 1995. Microsoft skapade en egen variant av Javascript, som namngavs JScript för att undvika varumärkesintrång. Denna kom i version 3.0 av Internet Explorer. JScript och Javascript skilde sig markant på inbyggda objekt och funktioner vilket ledde fram till behovet av en gemensam standard för skriptspråket, standarden kom att kallas för ECMA-262, även känt som Ecmascript.
Kodexempel
Javascript-koden i detta exempel är inbäddad i HTML-koden med hjälp av en script-tagg och skriver ut texten "Hello, World!":
<script>
document.write("Hello, World!");
</script>
Man kan även skapa en funktion på följande vis.
<script>
function minFunktion() {
document.write("Hello, World!");
}
</script>
Funktionen kan sedan anropas via ett HTML-element, exempelvis genom att klicka på en hyperlänk.
<a href="#" onclick="minFunktion()">Klicka här för att köra funktionen</a>
Syntax
Javascript stöder det mesta av syntaxen i C (till exempel if-satser, while-slingor, switch-satser, osv.). Som i de flesta skriptspråk, är variabeltyper inte knutna till variabeln själv utan snarare dess värde. till exempel så kan variabeln x vara en sträng som innehåller siffror, det betraktas då inte som ett tal utan just som en sträng. Den strängen kan sedan konverteras till ett tal dynamiskt ex:
var tala_om_variabel_typ = function(x) { // En funktion så att vi slipper klippa & klistra kod.
console.log('Variabeln x är av typen "'+typeof(x)+'" och innehåller värdet ('+x+').');
}
var x = "123"; // Tilldela x en sträng med tecken "1", "2" och "3".
tala_om_variabel_typ(x);
// Detta trick konverterar en sträng med siffror till ett tal.
x-=0; // x=+x fugerar lika bra.
tala_om_variabel_typ(x);
Vilket ger resultatet:
Variabeln x är av typen "string" och innehåller värdet (123). Variabeln x är av typen "number" och innehåller värdet (123).
Javascript stöder olika sätt att testa vilken typ av variabel det handlar om. Man kan även skriva funktioner i Javascriptkoden, som man kan kalla på senare i HTML-koden. Till exempel:
<script>
function ändraBild() {
document.images["bild"].src = "bild2.jpg";
return true;
}
</script>
Koden ovanför innebär att om funktionen "ändraBild" kallas i HTML-koden så kommer bilden med namnet "bild" att ändras till bilden "bild2.jpg". Detta kan vara användbart om man vill göra en knapp som ska se annolunda ut när man håller musen på den.
Skriptbibliotek
För att förenkla användandet av Javascript, DOM och för att undvika återuppfinnandet av hjulet (d.v.s. att man i onödan skriver sådan kod som andra redan har skapat) har erfarna programmerare skrivit Javascript-bibliotek som innehåller funktioner och objekt som man kan återanvända.
Lista på några fria Javascript-bibliotek
Andra programspråk
Se även
Wikibooks
JavaScript på Wikibooks.