Czym jest JavaScript?
JavaScript tak naprawdę narodził się w firmie Netscape jako LiveScript, język skryptowy rozszerzający standardowy HTML m.in. o możliwość interakcji z użytkownikiem przeglądającym stronę. Nieco później doszło do porozumienia między firmami Netscape i Sun Microsystems, w wyniku którego pod koniec 1995 roku światło dzienne ujrzał JavaScript. Język ten umożliwia tworzenie zagnieżdżonych bezpośrednio w kodzie HTML krótkich programów, które potrafią rozpoznać i odpowiednio zareagować na zdarzenia powodowane przez użytkownika. Zdarzenia te to np. kliknięcie myszą, wypełnianie formularza, czy nawigowanie między stronami. Przykładowo, można stworzyć skrypt, który będzie sprawdzał poprawność danych wprowadzonych przez użytkownika do formularza (np. czy wprowadzając jakąś datę, nie przekroczyliśmy dopuszczalnej liczby dni w danym miesiącu) i który będzie informował o ewentualnym błędzie. Sprawdzenie takie odbywać się będzie na komputerze przeglądającego stronę, nie nastąpi więc konieczność dodatkowej transmisji danych w sieci. Sprawdzaniem danych nie będzie musiał też zajmować się serwer.
JavaScript a Java
JavaScript, jak sama nazwa wskazuje, ma sporo wspólnego z językiem programowania Java, opracowanym w firmie Sun Microsystems. Niemniej nie należy tych dwóch języków mylić. Przede wszystkim zostały one stworzone do zupełnie różnych celów. Java to wywodzący się m.in. z C++ w pełni obiektowy język programowania, za pomocą którego można tworzyć skomplikowane aplikacje niezależne od platformy sprzętowej. JavaScript jest interpretowanym językiem skryptowym, służącym do tworzenia niewielkich programów rozszerzających możliwości HTML-u w zakresie opisu stron WWW. Krótkie zestawienie najważniejszych cech Javy i JavaScript znajduje się w tabeli 1.1.
Tabela 1.1. Podstawowe różnice pomiędzy językami Java a JavaScript
JavaScript
Java
Język interpretowany na komputerze klienta
Język kompilowany do tzw. b-kodu, wykonywanego następnie za pomocą wirtualnej maszyny Javy na komputerze klienta
Język oparty na predefiniowanych obiektach, niepozwalający jednak na stosowanie mechanizmów programowania obiektowego jak np. dziedziczenie
Język zorientowany obiektowo z obsługą wszystkich mechanizmów obiektowości
Kod programu jest zagnieżdżony w kodzie HTML
Kod programu jest niezależny od kodu HTML i znajduje się w oddzielnych plikach
Zmienne i ich typ nie muszą być deklarowane przed użyciem
Zmienne i ich typ muszą być zadeklarowane przed ich użyciem w programie
Odwołania do obiektów i funkcji są wykonywane podczas uruchamiania programu
Wszystkie odwołania do obiektów i funkcji są sprawdzane na etapie kompilacji
Ze względów bezpieczeństwa nie ma możliwości zapisu na dysk twardy
Ze względów bezpieczeństwa aplety, (w przeciwieństwie do aplikacji) nie mają możliwości zapisu na dysk twardy
jaszczur101