JavaScript

Wikipedia
Ohjattu sivulta ECMAScript
Loikkaa: valikkoon, hakuun
JavaScript [1]
Paradigma Useita: skriptikieli, olio-ohjelmointi (prototyyppipohjainen), imperatiivinen ohjelmointi , funktionaalinen ohjelmointi [1]
Tyypitys löyhä, dynaaminen [1]
Yleinen suoritusmalli tulkittu [1]
Muistinhallinta roskienkeruu [1]
Julkaistu 1995 [1]
Kehittäjä Brendan Eich, Netscape Communications Corporation, Mozilla Foundation [1]
Vakaa versio 1.8.5 [2]
Merkittävimmät toteutukset KJS, Rhino, SpiderMonkey, V8, WebKit, Carakan, Chakra [1]
Vaikutteet C, Java, Perl, Python, Scheme, Self [1]
Vaikuttanut ActionScript, CoffeeScript, Dart, JScript .NET, Objective-J, QML, TIScript, TypeScript, Node.js, LiveScript[1]
Käyttöjärjestelmä alustariippumaton [1]
Verkkosivu Ecmascript.org
Uutisryhmä javascript

JavaScript on alun perin Netscape Communications Corporationin kehittämä pääasiassa Web-ympäristössä käytettävä dynaaminen komentosarjakieli. JavaScriptin tärkein sovellus on mahdollisuus lisätä Web-sivuille dynaamista toiminnallisuutta. Sitä käytetään tavallisimmin osana verkkoselaimia, joiden toteutukset sallivat asiakaspuolen skriptien interaktion käyttäjän kanssa, selaimen rajoitetun hallinnan, asynkronisen kommunikaation ja käyttäjälle näytettävän dokumenttisisällön muokkaamisen. JavaScriptiä käytetään myös palvelinten verkko-ohjelmoinnissa (Node.js -ajoympäristössä), pelien kehityksessä ja työpöytä- sekä mobiilisovellusten luomisessa.

JavaScriptiä ei tule sekoittaa Javaan.

Yleistä[muokkaa | muokkaa wikitekstiä]

JavaScript-tiedoston ikoni.

JavaScriptin nykymuoto on dynaamisesti tyypitetty, tulkattava oliopohjainen komentosarjakieli, jonka syntaksi perustuu löyhästi C-ohjelmointikieleen. Kielen semantiikka ja suunnittelu on saanut vaikutteita Self- ja Scheme-ohjelmointikielistä.

Viimeisin kielen määrittely on JavaScript 1.8.5, joka pohjautuu EcmaScript-standardiin ECMA-262 Edition 3. Standardoitua JavaScriptiä kutsutaan nimellä ECMAScript. JavaScriptiä kehittää standardin mukaiseksi Netscape yhdessä ECMA-standardointiorganisaation kanssa.[3][4]

Useat selaimet tukevat standardin lisäksi lisätoiminnallisuuksia, kuten Mozilla-selainten E4X, joka on XML:n käsittelyyn erikoistunut kielen laajennus (standardi ECMA-357).

Historia[muokkaa | muokkaa wikitekstiä]

JavaScriptin kehitti alun perin Netscapen Brendan Eich nimellä Mocha. Nimi muutettiin LiveScriptiksi ja viimein markkinointisyistä JavaScriptiksi Netscapen liittouduttua Java-kielen kehittäneen Sun Microsystemsin kanssa. JavaScript on kuitenkin Java-ohjelmointikielestä eroava tekniikka. JavaScript tuli käyttöön Netscape Navigator 2.0 -selaimessa maaliskuussa 1996.

JavaScriptin suosion ansiosta Microsoft kehitti siitä yhteensopivan version, jolla se antoi tavaramerkkisyistä nimen JScript. Tämä toiminallisuus lisättiin Internet Explorerin versioon 3.0, joka julkaistiin elokuussa 1996. Microsoft aloitti JScriptin standardoinnin ECMA-järjestössä. Standardin ensimmäinen versio ECMA-262 hyväksyttiin kesäkuussa 1997.[5]

Standardoidusta Javascript-kielestä käytetään nimeä ECMAScript.

Ominaisuuksia[muokkaa | muokkaa wikitekstiä]

Prototyyppi-pohjainen oliomalli[muokkaa | muokkaa wikitekstiä]

Javascriptin oliomallin perusyksikköjä ovat object- ja function-oliot. Oliomalli ja sen enkapsulaatio ja periytyvyys pohjautuu prototyyppeihin, ei luokkiin kuten useimmissa olio-ohjelmointikielissä (esim. Smalltalk, C++, Java, Ruby).[6]

Ohjelmointityyli[muokkaa | muokkaa wikitekstiä]

JavaScriptille ei ole yksittäistä ohjelmointityyliä tai syntaksia sanelevaa ohjetta. Yleensä mainitaan Crowfordin, Googlen tai Yahoon tyylioppaat.

Mime-tyyppi ja tiedostoliite[muokkaa | muokkaa wikitekstiä]

Javascript-tiedostojen tiedostoliite on yleensä .js.

Javascript-tiedostojen mime-tyyppi on application/javascript tai vanhentunut text/javascript .[7]. Jälkimmäistä käytetään kuitenkin yhä laajasti, sillä Internet Explorer ei tue virallista mime-tyyppiä.

Esimerkkiohjelmia[muokkaa | muokkaa wikitekstiä]

Hei, maailma! JavaScript-skripti upotettuna HTML-dokumenttiin[muokkaa | muokkaa wikitekstiä]

<html>
 <head>
  <title>JavaScript-esimerkki</title>
 </head>
 <body>
  <script>
   document.write("Hei, maailma!");
  </script>
 </body>
</html>

Itsestään toistava esimerkki upotettuna HTML-dokumenttiin[muokkaa | muokkaa wikitekstiä]

<html>
 <head>
  <title>JavaScript-esimerkki 2</title>
 </head>
 <body>
  <script>
   function SayHello()
    {
     alert("Hei!")
     setTimeout("SayHello()", 10000);
    }
   </script>
  <input type="button" value="Paina" onclick="SayHello()"/>
 </body>
</html>

Anonyymi funktio[muokkaa | muokkaa wikitekstiä]

/** Anonyymi funktio joka kutsuu itseään,
 *  palauttaa merkkijonon "Bar" 66% ja "Foo" 33% todennäköisyydellä,
 *  ja kulkeutuu sitten roskienkeruuseen.
 **/
(function(arg){
    if (arg instanceof Array) { // pino eli periytyykö Arraysta
        for (var i in arg) { // pinon iterointi
            arg[i] = String.fromCharCode(arg[i]); // numeroarvosta merkki
        };
        arg = arg.join(""); // kirjainpinosta merkkijonoksi
    };
    return arg;
})(Math.random() < 0.33 ? [70, 111, 111] : "Bar") // argumenttina kolmiehtoinen-operaatio, 'ternary'

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. a b c d e f g h i j k JavaScript (html) Wikibooks. Viitattu 10.12.2011. (englanniksi)
  2. Määritä nimeke! (html) Mozilla Foundation. Viitattu 10.12.2011. (englanniksi)
  3. JavaScript and the ECMAScript Specification 2011. Mozilla Developer Network. Viitattu 10.12.2011. (englanniksi)
  4. ECMAScript Documentation (html) Viitattu 10.12.2011. (englanniksi)
  5. http://www.ecma-international.org/publications/standards/Ecma-262-arch.htm
  6. Object Oriented Programming Wikibooks. Viitattu 15.12.2011. (englanniksi)
  7. RFC 4329

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]