Samouczek JS

JS DOM Wprowadzenie do JS JS Dokąd Wyjście JS Oświadczenia JS Składnia JS Komentarze JS Zmienne JS JS Let JS Const Operatorzy JS Arytmetyka JS Zadanie JS Typy danych JS Funkcje JS Obiekty JS Wydarzenia JS JS Strings Metody ciągów JS Wyszukiwanie ciągów JS Szablony JS String Numery JS Metody liczbowe JS Tablice JS Metody macierzowe JS Sortowanie tablic JS Iteracja tablicy JS JS Array Const JS Daty Formaty daty JS JS Data Pobierz metody Metody ustawiania daty JS Matematyka JS JS losowo JS Booleans Porównania JS Warunki JS Przełącznik JS Pętla JS dla Pętla JS dla In Pętla JS dla Of Pętla JS, podczas gdy Przerwa JS Iterable JS Zestawy JS Mapy JS Typ JS Konwersja typu JS JS Bitwise JS RegExp Błędy JS Zakres JS JS Podnoszenie Tryb ścisły JS JS to słowo kluczowe Funkcja strzałki JS Klasy JS JS JSON Debugowanie JS Przewodnik po stylu JS Najlepsze praktyki JS Błędy JS Wydajność JS JS słowa zastrzeżone

Wersje JS

Wersje JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Krawędź Historia JS

Obiekty JS

Definicje obiektów Właściwości obiektu Metody obiektowe Wyświetlanie obiektów Akcesoria do obiektów Konstruktorzy obiektów Prototypy obiektów Iterowalne obiekty Zestawy obiektów Mapy obiektów Odniesienie do obiektu

Funkcje JS

Definicje funkcji Parametry funkcji Wywołanie funkcji Wywołanie funkcji Funkcja Zastosuj Zamknięcia funkcji

Klasy JS

Wprowadzenie do zajęć Dziedziczenie klas Klasa statyczna

JS Async

Oddzwaniania JS Asynchroniczny JS JS Obietnice JS Async/Oczekiwanie

JS HTML DOM

Wprowadzenie do DOM Metody DOM Dokument DOM Elementy DOM DOM HTML Formularze DOM DOM CSS Animacje DOM Wydarzenia DOM Odbiornik zdarzeń DOM Nawigacja DOM Węzły DOM Kolekcje DOM Listy węzłów DOM

Zestawienie komponentów przeglądarki JS

Okno JS Ekran JS Lokalizacja JS Historia JS JS Navigator Wyskakujący alert JS Czas JS Pliki cookie JS

JS Web API

Wprowadzenie do internetowego interfejsu API Interfejs API formularzy internetowych Interfejs API historii online API przechowywania danych w sieci Web Web Worker API Internetowy interfejs API pobierania Internetowy interfejs API geolokalizacji

JS AJAX

Wprowadzenie do AJAX AJAX XMLHttp Żądanie AJAX Odpowiedź AJAX Plik XML AJAX AJAX PHP ASP AJAX Baza danych AJAX Aplikacje AJAX Przykłady AJAX

JS JSON

Wprowadzenie do JSON Składnia JSON JSON a XML Typy danych JSON Analiza JSON JSON Obiekty JSON Tablice JSON Serwer JSON JSON PHP JSON HTML JSON JSONP

JS kontra jQuery

Selektory jQuery jQuery HTML jQuery CSS jQuery DOM

Grafika JS

Grafika JS JS płótno JS Działka JS Chart.js Wykres JS Google JS D3.js

Przykłady JS

Przykłady JS JS HTML DOM Wejście JS HTML Obiekty HTML JS Wydarzenia JS HTML Przeglądarka JS Edytor JS Ćwiczenia JS JS Quiz Certyfikat JS

Referencje JS

Obiekty JavaScript Obiekty HTML DOM


Historia JavaScript


JavaScript / ECMAScript

JavaScript został wynaleziony przez Brendana Eicha w 1995 roku.

Został opracowany dla Netscape 2 i stał się standardem ECMA-262 w 1997 roku.

Po tym, jak Netscape przekazał JavaScript ECMA, fundacja Mozilla kontynuowała prace nad JavaScriptem dla przeglądarki Firefox. Najnowsza wersja Mozilli to 1.8.5. (Identyczne z ES5).

Internet Explorer (IE4) był pierwszą przeglądarką obsługującą ECMA-262 Edition 1 (ES1).

Rok ECMAPrzeglądarka
1995   JavaScript został wynaleziony przez Brendana Eich
1996   Netscape 2 został wydany z JavaScript 1.0
1997   JavaScript stał się standardem ECMA (ECMA-262)
1997 ES1 ECMAScript 1 został wydany
1997 ES1 IE 4 była pierwszą przeglądarką obsługującą ES1
1998 ES2 ECMAScript 2 został wydany
1998   Netscape 42 został wydany z JavaScript 1.3
1999 ES2 IE 5 była pierwszą przeglądarką obsługującą ES2
1999 ES3 ECMAScript 3 został wydany
2000 ES3 IE 5.5 była pierwszą przeglądarką obsługującą ES3
2000   Netscape 62 został wydany z JavaScript 1.5
2000   Firefox 1 został wydany z JavaScript 1.5
2008 ES4 ECMAScript 4 został porzucony
2009 ES5 ECMAScript 5 został wydany
2011 ES5 IE 9 była pierwszą przeglądarką obsługującą ES5 *
2011 ES5 Firefox 4 został wydany z JavaScript 1.8.5
2012 ES5 Pełna obsługa ES5 w Safari 6
2012 ES5 Pełne wsparcie dla ES5 w IE 10
2012 ES5 Pełna obsługa ES5 w Chrome 23
2013 ES5 Pełne wsparcie dla ES5 w Firefoksie 21
2013 ES5 Pełne wsparcie dla ES5 w Operze 15
2014 ES5 Pełna obsługa ES5 we wszystkich przeglądarkach
2015 ES6 ECMAScript 6 został wydany
2016 ES6 Pełna obsługa ES6 w Chrome 51
2016 ES6 Pełne wsparcie dla ES6 w Operze 38
2016 ES6 Pełne wsparcie dla ES6 w Edge 14
2016 ES6 Pełna obsługa ES6 w Safari 10
2015 ES6 Pełna obsługa ES6 w Firefoksie 52
2018 ES6 Pełna obsługa ES6 we wszystkich przeglądarkach **

Notatka

* Internet Explorer 9 nie wspierał ES5 „use strict”.

** Internet Explorer 11 nie obsługuje ES6.


Komitet Techniczny ECMA 39

W 1996 r. Netscape i Brendan Eich zabrali JavaScript do międzynarodowej organizacji normalizacyjnej ECMA i utworzono komitet techniczny (TC39) w celu opracowania języka.

ECMA-262 Wydanie 1 zostało wydane w czerwcu 1997 roku.


Od ES4 do ES6

Kiedy komitet TC39 zebrał się w Oslo w 2008 roku, aby uzgodnić ECMAScript 4, podzielono go na 2 bardzo różne obozy:

Obóz ECMAScript 3.1 :
Microsoft i Yahoo, którzy chcieli stopniowej aktualizacji ES3.

Obóz ECMAScript 4 :
Adobe, Mozilla, Opera i Google, którzy chcieli ogromnej aktualizacji ES4.

13 sierpnia 2008, Brendan Eich napisał e-mail :

Nie jest tajemnicą, że organ normalizacyjny JavaScript, Komitet Techniczny Ecma 39, został podzielony na ponad rok, przy czym niektórzy członkowie opowiadają się za ES4, główną czwartą edycją ECMA-262, a inni opowiadają się za ES3.1 opartym na istniejącym ECMA-262 Specyfikacja edycji 3 (ES3). Teraz z przyjemnością informuję, że podział się skończył.

Rozwiązaniem była współpraca:

  • ECMAScript 4 został przemianowany na ES5
  • ES5 powinien być przyrostową aktualizacją ECMAScript 3.
  • Cechy ECMAScript 4 powinny zostać pobrane w późniejszych wersjach.
  • TC39 powinien opracować nowe główne wydanie o większym zakresie niż ES5.

Planowane nowe wydanie (ES6) nosiło nazwę kodową „Harmony” (z powodu powstałego przez nią podziału?).

ES5 odniósł ogromny sukces. Został wydany w 2009 roku, a wszystkie główne przeglądarki (w tym Internet Explorer) były w pełni zgodne do lipca 2013 roku:

Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
Nov 2012 Sep 2012 May 2013 Jul 2012 Jul 2013

ES6 również odniósł ogromny sukces. Został wydany w 2015 roku, a wszystkie główne przeglądarki były w pełni zgodne do marca 2017 roku:

Chrome 51 Edge 14 Firefox 52 Safari 10 Opera 38
May 2016 Aug 2016 Mar 2017 Sep 2016 Jun 2016