kurs javascript.pdf

(692 KB) Pobierz
Technologie internetowe
client-side
na przykładzie
języka
JavaScript
Andrzej Skowron
Spis treści
1 Wprowadzenie
2 Co to jest JavaScript?
3 Do czego służy JavaScript?
4 Podstawowe informacje
5 Typy danych
6 Przydatne funkcje
7 Praca z danymi
8 Podstawy składni języka
9 Funkcje użytkownika
10 Predefiniowane funkcje globalne
11 JavaScript jako język obiektowy
12 Obiekt window
12.1 Obiekt location
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2 Obiekt history
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.3 Obiekt navigator
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.4 Obiekt screen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13 Obiekt document
13.1 Model W3C DOM
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14 Zdarzenia i ich obsługa
15 Formularze HTML i obiekt String
15.1 Obiekt String
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16 Wyrażenia regularne i obiekt RegExp
17 Zasoby sieciowe związane z językiem JavaScript
2
2
3
4
6
8
9
12
15
16
20
25
26
27
28
30
30
32
37
41
47
49
52
1
Wprowadzenie
W 1995r. Brendon Eich rozpoczął pracę nad pierwszą wersją języka
JavaScript
(wtedy
projekt ten nazywał się
LiveScript).
Został on zaimplementowany w przeglądarce Netscape.
Niedługo potem doszło do porozumienia między firmami Netscape i Sun Microsystems, w
wyniku którego na początku roku 1996 w przeglądarce Netscape 2 pojawił się JavaScript w
wersji 1.0.
Wkrótce firma Microsoft wyposażyła przeglądarkę Internet Explorer 3 w swoją imple-
mentację tego języka, którą określono jako
JScript.
W krótkim czasie, po stronie klien-
ta, pomiędzy językami JavaScript a JScript istniało tak dużo różnic, że pisanie skryptów
przeznaczonych do wykorzystywania na wielu platformach nie było łatwe. Powstał pomysł
stworzenia wspólnego standardu, specyfikację języka Javascript przekazano do Europejskiego
Stowarzyszenia Producentów Komputerów, tak powstał język
ECMAScript.
ECMAScript to de facto międzynarodowy standard języka JavaScript, stanowi on istot-
ny krok na drodze do większej jednolitości języka JavaScript. Jednak w języku JavaScript
ciągle znajdują się elementy, które nie są częścią specyfikacji ECMAScript, częściowo po
to, aby zachować zgodność ze starszymi przeglądarkami. Najnowsza specyfikacja języka
ECMAScript to "3r’d Edition - December 1999". Możemy ją ściągnąć ze strony:
http:
//www.ecma-international.org/.
2
Co to jest JavaScript?
Język wieloplatformowy.
Mówiąc, że język JavaScript jest wieloplatformowy mamy
Język JavaScript możemy określić jako wieloplatformowy, obiektowy język skryptowy.
na myśli fakt, że kod w nim zapisany będzie w większości przypadków działał na różnych
systemach operacyjnych (MS Windows, Linux, Mac OS i in.), dając ten sam wynik.
Język obiektowy.
Język Javascript traktuje dane zapisane na stronie jako obiekty o hie-
rarchicznej strukturze. Wykorzystywany jest standard W3C DOM (World
Wide Web Consor-
tium Document Object Model
- Obiektowy Model Dokumentu Konsorcjum WWW). Standard
ten określa w jaki sposób można uzyskać dostęp do elementów dokumentów HTML z pozio-
mu języka JavaScript i jak wykonywać na nich operacje, co umożliwia łatwiejszą organizację
stron WWW.
Język skryptowy.
Języki skryptowe są interpretowane, oznacza to, że poddawane są
analizie za pomocą interpretera. Jest to narzędzie wbudowane w przeglądarkę WWW. In-
terpreter analizuje kod za każdym razem, kiedy go uruchamiamy. Tego typu języki działają
zazwyczaj wewnątrz innego programu lub aplikacji, np. przeglądarki WWW. Typowy skrypt
2
JavaScript jest zawarty wewnątrz strony WWW napisanej w języku HTML lub XHTML.
Cechą wyróżniającą języki skryptowe jest to, że wymagają one zapisania znacznie mniej-
szej ilości kodu niż w przypadku pisania niezależnego programu. W przypadku JavaScript-u
dzieje się tak dlatego, że przeglądarka WWW zawiera wiele użytecznych funkcji obsługu-
jących ten język. Skrypty są więc łatwiejsze do napisania, ale są wykonywane wolniej niż
skompilowany kod.
Java i JavaScript: różnice i podobieństwa:
JavaScript
Interpretowany przez klienta
oparty na predefiniowanych
obiektach
kod programu zagnieżdżony
w kodzie HTML
zmienne nie muszą być deklar-
owane przed użyciem
nie ma możliwości zapisu
na dysk twardy
aplety (w przeciwieństwie do aplikacji)
nie mają możliwości zapisu na dysk twardy
Java
kompilowany do tzw. b-kodu wykonywanego potem
za pomocą wirtualnej maszyny Javy na komputerze klienta
zorientowany obiektowo z obsługą
wszystkich mechanizmów obiektowości
kod programu jest niezależny od kodu HTML
i znajduje się w oddzielnych plikach
zmienne muszą być deklarowane przed użyciem
3
Do czego służy JavaScript?
Język JavaScript na wiele zastosowań. Podstawowym jest ulepszanie wyglądu i działania
stron WWW. Umożliwia on wprowadzenie do statycznych stron efekt ruchu oraz elementów
interaktywnych. Możemy również w ten sposób zaimplementować obsługę błędów dla danych
wprowadzanych do formularzy HTML.
Wykonywanie zadań po stronie klienta.
Kiedy używamy tylko technologii po stronie
serwera (CGI
- Common Gateway Interface, ASP - Active Server Pages, JSP - Java Server
Pages
czy też
PHP - PHP: Hypertext Preprocessor
), komputer-klient często bezczynnie ocze-
kuje na załadowanie strony, podczas gdy serwer po drugiej stronie ledwo nadąża obsługiwać
wszystkie żądania. Oczywistym rozwiązaniem problemu jest wykonywanie przynajmniej czę-
ści zadań na komputerze-kliencie. Pierwszą korzyścią, jaką uzyskamy po przesunięciu pewnej
części obciążenia na stronę klienta jest zmniejszenie konieczności częstego ładowania strony.
Na przykład, jeśli sprawdzenie poprawności danych wprowadzanych w formularzu HTML
nastąpi po stronie klienta, z wykorzystaniem skryptów JavaScript, unikniemy całkowicie
opóźnień sieciowych – przynajmniej do czasu, kiedy dane będą sprawdzone i przygotowane
do przesłania na serwer w celu dalszego przetwarzania.
3
Ważną zaletą wykorzystywania skryptów po stronie klienta jest uzyskanie możliwości
programowania w obrębie samej strony WWW. W efekcie, zyskujemy możliwość tworzenia
dynamicznych stron WWW odpowiadających na działania użytkowników, którzy przegląda-
ją stronę i wykonują na niej jakieś działania.
Oczywiście, w rzeczywistości komputer-klient nie może wykonywać całego przetwarza-
nia. We wszystkich usługach wykorzystujących technologię WWW konieczne jest przesłanie
danych na serwer w celu ich przechowywania lub dalszego przetwarzania. W praktyce więc
wykorzystuje się zarówno technologie po stronie serwera, jak i po stronie klienta. Najlepsze
efekty uzyskuje się poprzez równomierne rozłożenie obciążenia pomiędzy serwer a komputery
klienckie.
4
Podstawowe informacje
Rozróżnianie małych i wielkich liter.
W języku JavaScript wielkość liter ma znaczenie.
Stosując zatem wielkie i małe litery w nazwach zmiennych, funkcji i stałych musimy być
konsekwentni.
Średniki.
Dobrą praktyką jest zwyczajowe kończenie każdej instrukcji JavaScript śred-
nikiem. Nie stanowi to wymogu, w rzeczywistości potrzebne jest tylko wtedy, gdy chcemy
umieścić co najmniej dwie instrukcje w jednym wierszu.
Gdzie umieszczamy kod JavaScript?
Istnieją trzy miejsca, gdzie możemy umieścić
skrypty JavaScript na naszych stronach WWW:
w bloku wpisywanym wewnątrz kodu HTML,
w oddzielnym pliku zawierającym kod JavaScript,
w obrębie znacznika HTML.
Blok skryptu.
Jest to fragment kodu JavaScript otoczony parą znaczników HTML
<script>
oraz
</script>.
<html>
<head>
<title>Mój pierwszy skrypt w JavaScript!</title>
</head>
<body>
To jest normalny dokument HTML. <br>
<script language="javascript">
document.write("To jest JavaScript!")
4
Zgłoś jeśli naruszono regulamin