Netscape opracował oryginalną wersję JavaScript dla drugiej wersji swojej popularnej przeglądarki. Początkowo Netscape 2 był jedyną przeglądarką obsługującą język skryptowy, który pierwotnie nazywał się LiveScript. Wkrótce został przemianowany na JavaScript. To była próba zarabiania na niektórych reklamach Java firmy Sun język programowania robiło się w tym czasie.
Podczas gdy JavaScript i Java są pozornie podobne, są to zupełnie inne języki. Ta decyzja dotycząca nazewnictwa spowodowała wiele problemów dla początkujących w obu językach, którzy ciągle się mylą. Pamiętaj tylko, że JavaScript nie jest Javą (i odwrotnie) i unikniesz wielu nieporozumień.
Microsoft próbował przejąć udział w rynku od Netscape w czasie, gdy Netscape tworzył JavaScript, więc wraz z Internet Explorerem 3 Microsoft wprowadził dwa języki skryptowe. Jeden z nich opierał się na Visual Basic i otrzymał nazwę VBscript. Drugi to wygląd JavaScript, który Microsoft nazwał JScript.
Aby spróbować prześcignąć Netscape, JScript miał wiele dodatkowych poleceń i funkcji, które nie były w JavaScript. JScript miał również interfejsy do funkcji Microsoft ActiveX.
Ponieważ Netscape 1, Internet Explorer 2 i inne wczesne przeglądarki nie rozumiały ani JavaScript, ani JScript, stało się powszechną praktyką jest umieszczanie całej zawartości skryptu wewnątrz komentarza HTML, aby ukryć skrypt przed starszymi przeglądarki Nowe przeglądarki, nawet jeśli nie mogły obsługiwać skryptów, zostały zaprojektowane tak, aby same rozpoznawały tagi skryptów dlatego ukrywanie skryptu poprzez umieszczenie go w komentarzu nie było wymagane w żadnej późniejszej przeglądarce IE3.
Niestety do czasu, gdy niezwykle wczesne przeglądarki przestały być używane, ludzie zapomnieli o przyczynie do komentarza HTML i tak wiele osób, które dopiero zaczynają korzystać z JavaScript, nadal zawierają te zupełnie niepotrzebne tagi. W rzeczywistości uwzględnienie komentarza HTML może powodować problemy z nowoczesnymi przeglądarkami. Jeśli użyjesz XHTML zamiast HTML wraz z kodem wewnątrz takiego komentarza, spowoduje to, że skrypt stanie się komentarzem, a nie skryptem. Wiele nowoczesnych systemów zarządzania treścią (CMS) zrobi to samo.
Z czasem zarówno JavaScript, jak i JScript zostały rozszerzone, aby wprowadzić nowe polecenia, aby poprawić ich zdolność do interakcji ze stronami internetowymi. Oba języki dodały nowe funkcje, które działały inaczej niż odpowiednie funkcje (jeśli istnieją) w innym języku.
Sposób działania tych dwóch języków był na tyle podobny, że można było skorzystać z wykrywania przeglądarki, aby sprawdzić, czy przeglądarka to Netscape czy IE. Następnie można uruchomić odpowiedni kod dla tej przeglądarki. Ponieważ saldo przesunęło się w kierunku IE, zyskując równy udział w rynku przeglądarek z Netscape, ta niezgodność wymagała rozwiązania.
Rozwiązaniem Netscape było przekazanie kontroli JavaScript do Europejskiego Stowarzyszenia Producentów Komputerów (ECMA). Stowarzyszenie sformalizowało standardy JavaScript pod nazwą ECMAscipt. W tym samym czasie konsorcjum World Wide Web Consortium (W3C) rozpoczęło prace nad standardowym Object Object Model (DOM), który zostałby wykorzystany do umożliwienia JavaScript i inne języki skryptowe mają pełny dostęp do manipulowania całą zawartością strony zamiast ograniczonego dostępu, jaki do tej pory miał ten czas.
Zanim standard DOM został ukończony, zarówno Netscape, jak i Microsoft wydały własne wersje. Netscape 4 przyszedł z własnym DOM document.layer, a Internet Explorer 4 przyszedł z własnym DOM document.all. Oba te modele obiektów dokumentów stały się przestarzałe, gdy ludzie przestali korzystać z którejkolwiek z tych przeglądarek, ponieważ wszystkie przeglądarki od tego czasu wdrożyły standardowy DOM.
ECMAscript i wprowadzenie standardowego DOM we wszystkich wersjach pięciu i nowszych przeglądarkach usunęły większość niezgodności między JavaScript i JScript. Podczas gdy te dwa języki wciąż mają swoje różnice, teraz można napisać kod, który można uruchomić jako oba JScript w Internet Explorerze i jako JavaScript we wszystkich innych nowoczesnych przeglądarkach z niewielkim wyczuciem funkcji potrzebne. Obsługa określonych funkcji może się różnić w zależności od przeglądarki, ale możemy przetestować te różnice, korzystając z funkcja wbudowana w oba języki od samego początku, która pozwala nam przetestować, czy przeglądarka obsługuje określony funkcja. Testując określone funkcje, które nie są obsługiwane przez wszystkie przeglądarki, będziemy w stanie ustalić, który kod jest odpowiedni do uruchomienia w bieżącej przeglądarce.
Największą różnicą między JavaScript a JScript są wszystkie dodatkowe polecenia obsługiwane przez JScript, które umożliwiają dostęp do ActiveX i komputera lokalnego. Te polecenia są przeznaczone dla używać na stronach intranetowych gdzie znasz konfigurację wszystkich komputerów i że na wszystkich działa Internet Explorer.
Pozostało jeszcze kilka obszarów, w których JavaScript i JScript różnią się pod względem środków, które zapewniają wykonanie określonego zadania. Z wyjątkiem tych sytuacji oba języki można uznać za równoważne sobie nawzajem chyba że zaznaczono inaczej, wszystkie odniesienia do JavaScript, które widzisz, zwykle również obejmują JScript.