Kod źródłowy aplikacji JavaScript jest często rozproszony w plikach JavaScript, HTML i CSS, a także w zdarzeniach i danych przepływających przez szereg nieintuicyjnych ścieżek.[1]
JavaScript to nie tylko język programowania – pod tą nazwą kryje się również interfejsAPI i całe środowisko, w jakim JavaScript jest wykonywany. Sam język programowania, czyli ECMAScript, wyraża komputację do wykonania, zaś częściami odpowiedzialnymi za wejście i wyjście danych i interakcji to DOM i BOM.
| Javascript | ||
|---|---|---|
| ECMAScript | Document Object Model | Browser Object Model |
Rdzeniem JavaScriptu jest ECMAScript – obiektowy język skryptowy, powstały w wyniku standaryzacji języka JavaScript. Standaryzacja języka gwarantuje, że wszystkie typy, wartości, obiekty, właściwości, funkcje oraz składnie zdefiniowane w standardzie, wykorzystywane w skrypcie będą tak samo zachowywać się niezależnie od przeglądarki internetowej. Ponadto ustandaryzowane obiekty języka powinny zawsze zawierać co najmniej minimalny zestaw właściwości i funkcji.
Dodatkowo jest dopuszczalna implementacja obiektów, właściwości, funkcji, wartości i typów nie uwzględnionych w standardzie ECMA-262. Popularnymi implementacjami takich obiektów są: XMLHttpRequest i ActiveXObject.
Poniżej przedstawiona jest Tabelka zgodności z ECMAScriptem, zawierająca już historyczne dziś przeglądarki.
| Przeglądarka Internetowa | Zgodność z ECMAScriptem |
|---|---|
| Netscape Navigator 2.0 - 4.05 | brak |
| Netscape Navigator 4.06 - 4.79 | w wersji 1 |
| Netscape Navigator ≥ 6.0 | w wersji 3 |
| Mozilla ≥ 0.6 (SeaMonkey) | w wersji 3 |
| Firefox | w wersji 3 |
| Internet Explorer 3.0 - 4.0 | brak |
| Internet Explorer 5.0 | w wersji 1 |
| Internet Explorer ≥ 5.5 | w wersji 3 |
| Opera 6.0 - 7.1 | w wersji 2 |
| Opera ≥ 7.2 | w wersji 3 |
| Safari ≥ 1.0 | w wersji 3 |
| Konqueror ≥ 2.0 | w wersji 3 |
Obecnie wykorzystywane przeglądarki są zgodne z co najmniej 3. wersją standardu ECMA-262, a najnowsze z 5. wersją, obowiązującą od grudnia 2009 roku.
| Zgodność z ECMAScriptem nie oznacza tego, że we wszystkich przeglądarkach internetowych tak samo zostały zaimplementowane funkcje specyficzne dlaBOM oraz dlaDOM. |
Model DOM (Document Object Model) to interfejsAPI dla języków SGML, takich jakHTML iXML. Dzięki temu modelowi zostaje odwzorowana cała struktura dokumentu w formie umożliwiającej jej manipulację przez program.
Dla przykładu kod HTML:
<html><head></head><body><h1></h1><p></p></body></html>
można przedstawić jako diagram hierarchii węzłów modelu DOM.![]()
Sposób odwoływania się do poszczególnych części dokumentu następuje poprzez przejście przez odpowiednie węzły modelu DOM.
| W przygotowaniu: Może diagram bez napisów |
Model BOM (Browser Object Model) to interfejs API do manipulowania zachowaniem przeglądarki internetowej.Do modelu BOM można zaliczyć:
| Obiekt ActiveXObject występuje tylko w Internet Explorer, zamiast obiektu XMLHttpRequest. |