Przejdź do zawartości

JavaScript

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Tdc6502 (dyskusja | edycje) o 23:27, 5 paź 2016. Może się ona znacząco różnić od aktualnej wersji.
JavaScript
logo
nieoficjalne logo JavaScript
Pojawienie się

1995

Paradygmat

Język skryptowy wieloparadygmatowy (obiektowy, funkcyjny, imperatywny)

Typowanie

dynamiczne, Duck typing

Implementacje

KJS, Rhino, SpiderMonkey, V8, WebKit, Carakan, Chakra

Aktualna wersja stabilna

1.8.5[1] (22 marca 2011; ponad 13 lat temu)

Twórca

Brendan Eich

Platforma sprzętowa

wieloplatformowy

Strona internetowa

JavaScript, JSskryptowy język programowania, stworzony przez firmę Netscape, najczęściej stosowany na stronach internetowych. Pod koniec lat 90. XX wieku organizacja ECMA wydała na podstawie JavaScriptu standard języka skryptowego o nazwie ECMAScript. Głównym autorem JavaScriptu jest Brendan Eich.

Zastosowanie

Najczęściej spotykanym zastosowaniem języka JavaScript są strony WWW. Skrypty służą najczęściej do zapewnienia interaktywności poprzez reagowanie na zdarzenia, sprawdzania poprawności formularzy lub budowania elementów nawigacyjnych. Skrypty JavaScriptu uruchamiane przez strony internetowe mają znacznie ograniczony dostęp do komputera użytkownika. Po stronie serwera może także działać JavaScript w postaci node.js lub Ringo[2].

W języku JavaScript można także pisać pełnoprawne aplikacje. Fundacja Mozilla udostępnia środowisko złożone z technologii takich jak XUL, XBL, XPCOM oraz JSLib. Umożliwiają one tworzenie korzystających z zasobów systemowych aplikacji o graficznym interfejsie użytkownika dopasowującym się do danej platformy. Przykładem aplikacji napisanych z użyciem JS i XUL może być klient IRC o nazwie ChatZilla, domyślnie dołączony do pakietu Mozilla. Microsoft udostępnia biblioteki umożliwiające tworzenie aplikacji JScript jako część środowiska Windows Scripting Host. Ponadto JScript.NET jest jednym z podstawowych języków środowiska .NET. Istnieje także stworzone przez IBM środowisko SashXB dla systemu Linux, które umożliwia tworzenie w języku JavaScript aplikacji korzystających z GTK+, GNOME i OpenLDAP.

Historia

 Osobny artykuł: ECMAScript.
Wersje specyfikacji ECMAScript
Wersja Wydana Zmiany[3]
1 czerwiec 1997
2 czerwiec 1998 Głównie korekta redaktorska[a]
3 grudzień 1999 Wyrażenia regularne, obsługa wyjątków, nowe rodzaje pętli, literały tablic i obiektów
4 produkcja Klasy, jawna kontrola dostępu, alternatywne dla DOM wbudowane wsparcie dla XML[b]

W 1996 r. organizacja ECMA rozpoczęła pracę nad specyfikacją języka JavaScript pozbawioną odniesień na temat interpretującego kod środowiska. Język opisany w standardzie ECMA-262 został nazwany ECMAScript. Od tego momentu nazwa JavaScript oznacza jedynie jeden z nadzbiorów języka ECMAScript. Pierwsza wersja standardu była bliska JavaScriptowi w wersji 1.1. Trzecia jako pierwsza rozszerzyła istniejące implementacje. Aktualnie trwają prace nad wersją czwartą.

Dialekty

Od czasu powstania JavaScriptu opracowywane były różne jego odmiany interpretowane za pomocą osobnych silników. Oprócz implementacji wprowadzonych do przeglądarek internetowych należy do nich także ActionScript aplikacji Adobe Flash.

Wersje JavaScriptu, odmiany ECMAScriptu opracowywanej przez firmę Netscape.
Wersja Wydana Okoliczności wydania Ważniejsze rozszerzenia implementowanej specyfikacji[c][4]
przeg.

spec.
1.0 marzec 1996 NN 2.0 brak
1.1 sierpień 1996 Klasy typów podstawowych, konstruktory, prototypy NN 3.0 brak
1.2 czerwiec 1997 Klasa zdarzenia NN 4.0 brak[d]
1.3 październik 1998 NN 4.06 2
1.4 ? Dostępna jedynie po stronie serwera (np. Netscape Enterprise Server). 2
1.5 listopad 2000 Stałe, interfejs DOM poziom pierwszy i drugi M 0.6 3
1.6 listopad 2005 Mechanizm E4X Fx 1.5 3
1.7 październik 2006 Funkcje-iteratory, wielokrotne przypisania Fx 2.0 3
1.8 czerwiec 2008 domknięcia wyrażeń, wyrażenia generujące Fx 3.0 3
2.0 produkcja Eksperymentalny produkt Netscape oraz Fundacji Mozilla. 4
 Osobny artykuł: JScript.
Wersje JScriptu, odmiany ECMAScriptu opracowywanej przez firmę Microsoft.
Wersja Wydana Okoliczności wydania Ważniejsze rozszerzenia implementowanej specyfikacji[c]
przeg.

spec.

≈ JS
1.0 sierpień 1996 IE 3.0 brak 1.0
2.0 styczeń 1997 IE 3.02 brak 1.1
3.0 październik 1997 IE 4.0 1 1.3
4.0 ? Visual Studio 6.0 1 1.4
5.0 marzec 1999 Częściowa implementacja trzeciej wersji standardu (bez mechanizmu wyjątków), interfejsy XMLHttpRequest oraz DOM poziom pierwszy i drugi IE 5.0 2 1.5
5.1 sierpień 2000 IE 5.01 2
5.5 sierpień 2000 IE 5.5 3
5.6 październik 2001 IE 6.0 3
5.7 listopad 2006 IE 7.0 3
.NET 11 lipca 2000 Microsoft na bazie wstępnej wersji specyfikacji ECMAScript 4 stworzył JScript.NET. 4 ?

Java

Początkowo Netscape nazwała nowy język LiveScript. Nazwa została jednak szybko zmieniona na JavaScript wskutek biznesowych porozumień pomiędzy Netscape a firmą Sun Microsystems (współwłaścicielem znaku handlowego JavaScript jest Oracle Corporation, które przejęło Sun Microsystems w 2010 roku). Skutkiem tego jest wiele nieporozumień wśród początkujących programistów. Skrypty JavaScriptu oraz aplety Javy (mimo odrębności tych dwóch języków) mogą się wzajemnie komunikować dzięki dostępnej w przeglądarkach Netscape, Mozilla i Opera technologii LiveConnect.

JavaScript dla WWW

Interakcja

Wszystkie implementacje JavaScriptu dostępne w przeglądarkach internetowych dostarczają obiektów reprezentujących drzewo dokumentu. Mogą także umożliwiać tworzenie ciasteczek, manipulowanie oknami przeglądarki, wyświetlanie prostych okien dialogowych, pobieranie informacji o przeglądarce, zarządzanie jej pluginami oraz arkuszami stylów. Reagują także na zdarzenia wywoływane w interfejsie.

Podczas manipulowania zawartością dokumentu problem stanowił brak jego ustandaryzowanego modelu. W czwartym pokoleniu przeglądarek dostęp do niektórych elementów dokumentu w Netscape możliwy był przy użyciu kolekcji document.layers, za to w Internet Explorerze – document.all. Organizacja W3C opracowała jednak jednolity obiektowy model obsługiwany przez wszystkie współczesne przeglądarki (w tym Operę od wersji 6, Konquerora od wersji 3 oraz Safari). Tablice all i layers zostały uznane za przestarzałe i wsparcie dla nich zostało praktycznie wycofane.

W języku HTML za umieszczanie skryptów JS odpowiedzialny jest element <script> z opcjonalnymi argumentami type o wartości text/javascript i language o wartości javascript.
<script type="text/javascript" language="JavaScript 1.5">
 alert(12 > 6);
</script>
Jeżeli kod znajduje się w dokumencie XHTML, w celu uniknięcia zinterpretowania niektórych operatorów jako elementów składni języka należy otoczyć skrypt sekcją CDATA lub zapisać je w postaci encji[5]. W XHTML nie można używać argumentu language w znaczeniu określenia wersji języka JS (atrybut, jeżeli jest użyty, powinien przyjąć dwuznakowe wartości opisane standardem ISO 639, np. EN, DE, PL).
<script type="text/javascript">
/* <![CDATA[ */
 alert(12 > 6);
/*]]> */</script>
Zewnętrzne skrypty dodajemy także przy użyciu powyższego znacznika, uwzględniając jedynie parametr src z nazwą pliku zawierającego kod skryptu. Typ MIME dla samodzielnych plików JavaScript to application/javascript lub przestarzały text/javascript[6].
<script type="text/javascript" src="code.js"></script>

Zobacz też

  1. Przyczyną były prace nad ustanowieniem ECMAScript 2 normą ISO 16262
  2. Dotychczas opracowywane jako osobny standard ECMA-357
  3. a b Lub poprzedniej wersji implementacji, jeżeli specyfikacji ECMAScript jeszcze nie wydano
  4. Wersja ta została wydana, zanim ECMA ukończyła pierwszą specyfikację. Mimo to jest z nią częściowo zgodna

Linki zewnętrzne