JavaScript
Z Wikipedii
JavaScript (JS) – obiektowy skryptowy język programowania, stworzony przez firmę Netscape, najczęściej stosowany na stronach WWW. 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.
Spis treści |
[edytuj] Zastosowanie
Najczęściej spotykanym zastosowaniem języka JavaScript są strony WWW. Skrypty służą najczęściej do zapewnienia interaktywności poprzez reagowanie na zdarzenia lub sprawdzania poprawności formularzy lub 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 znacznie ograniczony dostęp do komputera użytkownika (o ile nie zostanie podpisany cyfrowo). Niektóre strony WWW zbudowane są z wykorzystaniem JavaScriptu po stronie serwera, jednakże znacznie częściej korzysta się w tym przypadku z innych języków.
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.
[edytuj] Historia
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 i 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 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ą.
[edytuj] 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.
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 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 | |
2.0 | produkcja | Eksperymentalny produkt Netscape oraz Fundacji Mozilla. | 4 |
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 | ? | 1 | ? | |||
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 | ? |
[edytuj] 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 (Sun jest 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 mogą się wzajemnie komunikować dzięki dostępnej w przeglądarkach Netscape, Mozilla i Opera technologii LiveConnect.
[edytuj] JavaScript dla WWW
[edytuj] 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 zostaje wycofywane.
[edytuj] Osadzanie
W języku HTML za umieszczanie skryptów JS odpowiedzialny jest element <script> z argumentem type o wartości text/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.[7] 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 . [8]. |
<script type='text/javascript' src='code.js'></script> |
Przypisy
- ↑ JavaScript 2.0: Evolving a Language for Evolving Systems
- ↑ Przyczyną były prace nad ustanowieniem ECMAScript 2 normą ISO 16262
- ↑ Dotychczas opracowywane jako osobny standard ECMA-357
- ↑ 4,0 4,1 Lub poprzedniej wersji implementacji, jeżeli specyfikacji ECMAScript jeszcze nie wydano
- ↑
- Wersja 1.1 – Features added after version 1
- Wersja 1.2 – Feature Summary
- Wersja 1.3 – New Features in this Release
- Wersja 1.5 – New features in JavaScript 1.5
- Wersja 1.6 – New in JavaScript 1.6
- Wersja 1.7 – New in JavaScript 1.7
- ↑ Wersja ta została wydana, zanim ECMA ukończyła pierwszą specyfikację. Mimo to jest z nią częściowo zgodna
- ↑ Osadzanie skryptów w XHTML
- ↑ RFC 4329: Scripting Media Types
[edytuj] Zobacz też
- Szczególne zastosowania JavaScriptu:
- DHTML – modyfikacja elementów dokumentu
- XMLHttpRequest – pobieranie zewnętrznych dokumentów
[edytuj] Linki zewnętrzne
- Specyfikacja języka ECMAScript
- JavaScript 1.5 dokumentacja (en) • przewodnik (en)
- polskie tłumaczenie: dokumentacja • przewodnik
- JavaScript 1.4 dokumentacja (en) • przewodnik (en)
- JavaScript 1.3 dokumentacja (en) • przewodnik (en)
- Zasoby Mozilla.org na temat JavaScript
- Zasoby MSDN na temat Microsoft JScript
- Kurs języka JavaScript - Poradnik Webmastera
ABAP • Ada • AWK • Asembler • C • C++ • C# • COBOL • Common Lisp • D • F# • Forth • Fortran • GAUSS • Icon • Java • JavaScript • Lisp • Lustre• Modula 2 • Ocaml • Oberon • Object Pascal • Objective-C • Pascal • Perl • PHP • PL/SQL • Python • REXX • Ruby • SAS 4GL • sh • Smalltalk • Snobol • SQL • Visual Basic • VB.NET • XUL
Akademickie: Comal • Eiffel • Haskell • Logo • MCPL • ML • Nemerle • Prolog • Scheme
Historyczne: ALGOL • APL • BASIC • Clipper • JAS • MUMPS • PLAN • PL/I • PL/M • SAKO • SAS (asembler) • Simula
Ezoteryczne: INTERCAL • Brainfuck • BeFunge • Unlambda • Malbolge • Whitespace • FALSE • HQ9+ • Shakespeare • Whirl • Ook