|
|
Ten artykuł trzeba dopracować zgodnie z zaleceniami edycyjnymi:
Informacje o JavaScript 1.8 (implementacja w Firefoksie 3).
Dokładniejsze informacje o tym, co trzeba poprawić, być może leżą na stronie dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości prosimy usunąć szablon {{Dopracować}} z kodu tego artykułu. |
JavaScript (JS) – skryptowy język programowania, zbudowany 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. Podstawowym 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 albo budowania elementów nawigacyjnych. Podczas wzbogacania funkcjonalności strony internetowej istotne jest, aby żaden element serwisu nie stał się niedostępny po wyłączeniu obsługi JavaScriptu w przeglądarce. Skrypt JavaScriptu ma wydatnie ograniczony dostęp do komputera użytkownika (o ile nie zostanie podpisany cyfrowo). Pewne strony WWW zbudowane są z wykorzystaniem JavaScriptu po stronie serwera, jednakże wydatnie częściej wykorzystuje się w tym przypadku z innych języków.
W języku JavaScript da się 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 wykonywanie 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 oraz XUL bywa klient IRC o nazwie ChatZilla, domyślnie dołączony do pakietu Mozilla. Microsoft udostępnia biblioteki umożliwiające wykonywanie aplikacji JScript jako cząstka środowiska Windows Scripting Host. Ponadto JScript.NET jest jednym z podstawowych języków środowiska .NET. Istnieje także zbudowane przez IBM środowisko SashXB dla systemu Linux, które dopuszcza wykonywanie w języku JavaScript aplikacji korzystających z GTK+, GNOME oraz OpenLDAP.
Historia
-
Osobny artykuł: ECMAScript.
Wersje specyfikacji ECMAScript
| Wersja |
Wydana |
Zmiany[1] |
| 1 |
czerwiec 1997 |
|
| 2 |
czerwiec 1998 |
Głównie korekta redaktorska[2] |
| 3 |
grudzień 1999 |
Wyrażenia regularne, obsługa wyjątków, nowe rodzaje pętli, literały tablic oraz obiektów |
| 4 |
produkcja |
Klasy, jawna kontrola dostępu, alternatywne dla DOM wbudowane wsparcie dla XML[3] |
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 stał się nazwany ECMAScript. Od tego momentu nazwa JavaScript oznacza zaledwie 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 zróżnicowane jego odmiany interpretowane za pomocą osobnych silników. nieoczekiwanie implementacji wprowadzonych do przeglądarek internetowych trzeba 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[4][5] |

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[6] |
| 1.3 |
październik 1998 |
|
|
NN 4.06 |
2 |
| 1.4 |
? |
Dostępna zaledwie po stronie serwera (np. Netscape Enterprise Server). |
|
2 |
| 1.5 |
listopad 2000 |
|
Stałe, interfejs DOM poziom pierwszy oraz 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 |
| 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[4] |

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 oraz 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
Oryginalnie Netscape nazwała nowy język LiveScript. Nazwa była jednak szybko zmieniona na JavaScript wskutek biznesowych porozumień pomiędzy Netscape a firmą Sun Microsystems (Sun jest współwłaścicielem znaku handlowego JavaScript). Skutkiem tego jest wiele nieporozumień wśród początkujących programistów. Mimo odrębności dwóch języków skrypty JavaScriptu oraz aplety Javy potrafią się wzajemnie komunikować dzięki dostępnej w przeglądarkach Netscape, Mozilla oraz Opera technologii LiveConnect.
JavaScript dla WWW
Interakcja
Wszystkie implementacje JavaScriptu dostępne w przeglądarkach internetowych dostarczają obiektów reprezentujących drzewo dokumentu. Potrafią 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ł niedobór jego ustandaryzowanego modelu. W czwartym pokoleniu przeglądarek dostęp do poniektó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 oraz layers zostały uznane za przestarzałe oraz wsparcie dla nich zostaje wycofywane.
W języku HTML za umieszczanie skryptów JS odpowiedzialny jest element <script> z argumentem type o wartości text/javascript oraz argumentem language o wartości javascript. Atrybut language jest jednak przestarzały oraz zaleca się go pomijać. |
<script type="text/javascript" language="JavaScript 1.5">
alert(12 > 6);
</script>
|
Jeżeli kod istnieje w dokumencie XHTML, w celu uniknięcia zinterpretowania poniektórych operatorów jako elementów składni języka trzeba otoczyć skrypt sekcją CDATA albo zapisać je w postaci encji[7]. W XHTML nie da się 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 zaledwie parametr src z nazwą pliku zawierającego kod skryptu. Typ MIME dla samodzielnych plików JavaScript to application/javascript albo przestarzały text/javascript[8]. |
<script type="text/javascript" src="code.js"></script>
|
Przypisy
Sprawdź też
Linki zewnętrzne