Javascript

Från Wikipedia
Hoppa till: navigering, sök
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[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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 till 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 över den.

Skriptbibliotek[redigera | redigera wikitext]

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[redigera | redigera wikitext]

Liknande programspråk[redigera | redigera wikitext]

Se även[redigera | redigera wikitext]

Wikibooks[redigera | redigera wikitext]

Externa länkar[redigera | redigera wikitext]

Referenser[redigera | redigera wikitext]