Cwicz1_JavaScript_kateg_skladniowe_typy_danych

Transkrypt

Cwicz1_JavaScript_kateg_skladniowe_typy_danych
Ćwiczenie „Kategorie składniowe języka JavaScript. Typy danych”
Tematy ćwiczenia
− symboli terminalne, identyfikatory, słowy kluczowe, literały, separatory, operatory,
− typy standardowe,
− zmienne, nadanie wartości początkowych,
− tablice programowe.
Wyniki opracowania zadań pokazywać za pomocą dwóch przeglądarek:
Firefox Mozilla,
Internet Explorer.
W przypadku stosowania Firefox Mozilla używać konsoli błędów (Narzędzia/Konsola
błędów).
Korzystając z Notatnika opracowywać:
plik HTML (XHTML), w tym zawierający program w języku JavaScript,
zewnętrzny plik CSS.
Wprowadzone dane wyświetlać stosując:
metodę document.write lub window.alert.
Dodać do programu wyświetlenie imienia i nazwiska autora aplikacji.
a) Język JavaScript
Zadanie
Napisać zdanie w postaci jedno- oraz kilkuwierszowego komentarza.
Zapisać liczbę całkowitą, jako literał Numeric, oraz wyświetlić w oknie.
Zapisać wartość, jako literał Boolean, oraz wyświetlić w oknie.
Zapisać liczbę zmiennoprzecinkową, jako literał Numeric, oraz wyświetlić w oknie.
Zapisać znak, jako literał String, oraz wyświetlić w oknie.
Zapisać tekst, jako literał String, oraz wyświetlić w oknie.
Opracowanie zadań
<skrypt>
Testowanie
<zrzut z przeglądarki>
b) Tablice
Zdefiniować w języku JavaScript tablicę z liczbami całkowitymi (ilość elementów
ustawić równą numeru wariantu), oraz wyświetlić w oknie.
Zdefiniować w języku JavaScript tablicę z liczbami zmiennoprzecinkowymi (ilość elementów ustawić równą numeru wariantu), oraz wyświetlić w oknie.
Zdefiniować w języku JavaScript tablicę do przechowywania ... (z przytoczonej tabeli
wariantów), oraz wyświetlić w oknie. Wprowadzić wartości przypadkowe.
Opracowanie zadań
<skrypt>
Testowanie
<zrzut z przeglądarki>
Tabela wariantów punktu b)
Np
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Element tablicy
Nazwa koloru
Imię osoby
Model auta
Nazwa figury
Nazwisko osoby
Nazwa tańca
Model auta
Nazwa figury
Nazwa koloru
Nazwa tańca
Nazwa państwa
Nazwa figury
Nazwa koloru
Imię osoby
Nazwa miasta
Nazwa kurortu
Np
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Element tablicy
Nazwa firmy
Adres firmy
Numer telefonu
Model auta
Nazwa owocu
Numer szkoły
Nazwa tańca
Nazwisko osoby
Nazwa szkoły
Nazwa tańca
Model auta
Nazwa figury
Nazwa miasta
Imię osoby
Nazwa państwa
Nazwa kurortu
Np
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Element tablicy
Nazwa koloru
Imię osoby
Model auta
Nazwa figury
Nazwisko osoby
Nazwa tańca
Model auta
Nazwa figury
Nazwa koloru
Nazwa tańca
Nazwa państwa
Nazwa figury
Nazwa koloru
Imię osoby
Nazwa miasta
Nazwa kurortu
Np
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Element tablicy
Nazwa firmy
Adres firmy
Numer telefonu
Model auta
Nazwa owocu
Numer szkoły
Nazwa tańca
Nazwisko osoby
Nazwa szkoły
Nazwa tańca
Model auta
Nazwa figury
Nazwa miasta
Imię osoby
Nazwa państwa
Nazwa kurortu
c) Funkcje
1)
Obliczyć w języku JavaScript funkcję całkowitą zależną od czterech argumentów całkowitych.
Funkcję pobrać z przytoczonej tabeli wariantów.
Wprowadzić przypadkowe wartości argumentów.
Wyświetlić wynik i argumenty.
2)
Obliczyć w języku JavaScript funkcję zmiennoprzecinkową zależną od czterech argumentów zmiennoprzecinkowych.
Funkcję pobrać z przytoczonej tabeli wariantów.
Wprowadzić przypadkowe wartości argumentów.
Wyświetlić wynik i argumenty.
Tabela wariantów punktu c)
Np
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Funkcja
(a + b) * c / d
a –( b * c) / d
a * (b + c) / d
a / (b + c) * d
(a + b) – (c/ d)
(a - b * c) + d
a * (b – c) + d
a/b-c+d
(a + b) * (c + d)
(a – b) * c + d
a * b * (c + d)
a / (b * c) + d
a+b/c/d
(a – b) / c + d
a*b/c+d
a / b / (c + d)
Np
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Opracowanie zadań
<skrypt>
Testowanie
<zrzut z przeglądarki>
Funkcja
(a + b) * c – d
(a – b) * c / d
a *( b + c) - d
a / (b + c – d)
a + (b – c) - d
a-b-c/d
a * (b - c – d)
a / (b - c )- d
a+b*c-d
(a – b) * (c – d)
a*b*c–d
a/b*c-d
a+b/c-d
a-b/c-d
a*b/c-d
a/b/c-d
Np
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Funkcja
a + (b * c) / d
a – b * (c / d)
a * b + (c / d)
a / b + (c * d)
a + (b – (c/ d))
a - (b * c) + d
a * b – (c + d)
(a / b) - c + d
a + (b * (c + d))
a – (b * c) + d
a * (b * (c + d))
a / b * (c + d)
a + b / (c / d)
(a – (b / c)) + d
a * (b / c + d)
a / (b / (c + d))
Np
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Funkcja
a + b *( c – d)
a–b*c/d
a*b+c-d
a / b + (c – d)
a + b – (c - d)
a - b - (c / d)
a * b - (c – d)
a / b - (c - d)
a + (b * c) - d
a – (b * (c – d))
a * b * (c – d)
a / b * (c - d)
a + b / (c - d)
a - (b / c - d)
a * b / (c - d)
a / b /( c - d)
d) Podprogramy
Realizować zadanie rozdziału 3 tak, aby obliczenia funkcji byli wykonywane w podprogramach.
Opracowanie zadań
<skrypt>
Testowanie
<zrzut z przeglądarki>
Zaliczyć ćwiczenie u prowadzającego.
Sprawozdanie
Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie na bazie materiałów ćwiczenia.
Bazowa zawartość sprawozdania musi być przygotowana w domu przed ćwiczeniem
(sprawozdanie do ćwiczenia pierwszego jest przygotowywane w czasie ćwiczenia). W czasie ćwiczenia do sprawozdania są dodawane wyniki testowania.
Treść sprawozdania:
strona tytułowa,
spis treści sporządzony za pomocą Word'a,
dla każdego punktu rozdziały "Zadanie ", "Opracowanie zadania" (rozdział ze skryptem i komentarzami), "Testowanie" (rozdział z opisem danych wejściowych i wynikami testowania, w tym zrzuty okna przeglądarki).
Wzorzec strony tytułowej znajduje się w pliku
Strona_tytulowa_stac_Interpr_jezyki_progr_PWSBAiTK.doc.
Nazwa pliku ze sprawozdaniem musi zawierać skrót
"InterprJP_niestac_", numer ćwiczenia i nazwisko studenta (bez polskich liter, żeby
można było archiwizować).
Pliki ze sprawozdaniem są przekazywane do archiwum grupy.
Wskazówki
Język JavaScript (ECMAScript)
Specyfikację języka ECMAScript można pobrać ze strony internetowej spod adresu
www.ecma-international.org
Program w języku JavaScript
Program w języku JavaScript jest umieszczany na dwa sposoby:
1) w tekście HTML wewnątrz znaczników "<script>" i "</script>",
2) w pliku z rozszerzeniem ".js", przy czym plik jest wskazywany przez opcję "src"
znacznika "<script>".
Znacznik "<script>" może mieć dwa atrybuty:
type, który wskazuje używany język skryptowy, oraz
src, który wskazuje zewnętrzny plik JavaScript.
Przykład:
<script type="text/javascript" src="./plik.js">
</script>
Starsze przeglądarki przyjmują zamiast atrybutu type atrybut language.
Przykład:
<script language="JavaScript" src="./plik.js">
</script>
Można nie wskazywać atrybut type lub language, ponieważ przeglądarki traktują
język JavaScript, jako domyślny dla znacznika "<script>".
Znacznik "<script>" z kodem JavaScript można umieszczać tak w sekcji body,
jak i w sekcji head.
Kod JavaScript lepiej umieszczać w sekcji body.
W sekcji head wygodniej umieszczać funkcje napisane w JavaScript, a odwołania do
tych funkcji - w sekcji body.
Osadzanie kodu JavaScript w znaczniku "<script>"
Przykład z kodem JavaScript osadzonym w znaczniku "<script>":
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-2">
<title>Strona</title>
</head>
<body>
<p>Tekst testowy</p>
<script type="text/javascript">
document.writeln("Test znacznika script");
</script>
</body>
</html>
Odwołanie w znaczniku "<script>" do kodu JavaScript
Przykład z odwołaniem w znaczniku "<script>" do kodu JavaScript umieszczonego w
pliku:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-2">
<title>Strona</title>
</head>
<body>
<p>Tekst testowy</p>
<script type="text/javascript" src="./plik.js">
</script>
</body>
</html>
Zawartość pliku "plik.js":
document.writeln("Test pliku javascript");
Komentarze w języku JavaScript są oznaczane tak samo, jak w języku C.
To znaczy, że
znaki "//" są stosowane do komentarza jednowierszowego, umieszczonego na prawo od
znaków do końca wiersza,
a pary znaków "/*" i "*/" są stosowane do komentarza kilkuwierszowego, umieszczonego między tymi znakami.
Przykład:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-2">
<title>Strona</title>
<script type="text/javascript">
/* komentarz
kilkuwierszowy */
document.writeln("Test znacznika script");
// komentarz jednowierszowy
</script>
</head>
<body>
<p>Tekst testowy</p>
</body>
</html>
Kategorie składniowe języka JavaScript
Symbole terminalne
Program w języku JavaScript jest łańcuchem znaków ASCII (American Standard
Code for Information Interchange, Standardowy amerykański kod wymiany informacji).
Tekst programu w języku programowania JavaScript jest dzielony na wierszy za pomocą symboli końcu wierszy (ang. line terminators):
- znak „Nowy wiersz” (LF - line feed) - kod 0xA, oznaczenie "\n",
- znak „Powrót na początek wiersza (powrót karetki)” (CR - carriage return) - kod 0xD,
oznaczenie "\r",
- para znaków „Powrót na początek wiersza” - „Nowy wiersz” (CR-LF), oznaczenie "\r\
n".
Oprócz symboli końcu wiersza tekst jest dzielony na fragmenty komentarzami.
Język programowania JavaScript ma gramatykę kontekstowo niezależną.
Analizowany tekst jest dzielony kompilatorem na elementy języka (ang. tokens) w
tych miejscach, gdzie znajdują się spacji białe oraz komentarze.
Do spacji białych (ang. white spaces) należą oprócz symboli końcu wiersza (ang. line
terminators) znaki:
- znak odstępu (spacji) (kod 0x20),
- znak tabulacji (kod 0x9),
- znak końca strony (kod 0xFF).
Elementy języka (ang. tokens) można podzielić na
- identyfikatory (ang. identifiers),
- słowy kluczowe (ang. keywords),
- literały (ang. literals),
- separatory (ang. separators) i
- operatory (ang. operators).
Język JavaScript należy do grupy języków, w których ma znaczenie wielkość liter
(ang. case sensitive).
Identyfikatory
Identyfikator jest łańcuchem liter i cyfr. Na początku identyfikatora nie może być cyfra. Jako identyfikator nie można stosować słowo kluczowe, literał logiczny (tj. true,
false) oraz literał zerowy (tj. null).
Do liter należą:
znaki liter łacińskich dużych od "A" do "Z" (kody od 0x41 do 0x51),
znaki liter łacińskich małych od "a" do "z" (kody od 0x61 do 0x7A),
znak podkreślenia "_" (kod 0x5F),
znak dolara "$" (kod 0x24).
Do cyfr należą cyfry dziesiętne od "0" do "9" (kody od 0x30 do 0x39).
Słowy kluczowe
Zbiór słów kluczowych języka JavaScript.
break
case
catch
continue
default
delete
do
else
finally
for
function
if
in
instanceof
new
return
switch
this
throw
try
typeof
var
void
while
with
Literały
Literał przedstawia wartość stałej lub początkową wartość zmiennej.
W języku JavaScript są następujące literały:
Numeric (liczba całkowita lub rzeczywista),
Boolean (logiczny),
String (znak lub łańcuch znaków),
Null (zerowy).
Literał Numeric
Literał Numeric służy do zapisywania wartości liczb całkowitych i zmiennoprzecinkowych. W języku JavaScript literał Numeric jest łańcuchem znaków dziesiętnych, szesnastkowych lub ósemkowych. Literał może zawierać znak liczby.
Liczba szesnastkowa jest ciągiem cyfr od 0 do 9 i liter od A do F lub od a do f, przed
którym muszą być zapisane dwa znaki „0X” lub „0x”.
Liczba ósemkowa jest ciągiem cyfr od 0 do 7, przed którym jest zapisany, jako prefiks znak „0”.
Przykłady:
17-88 123456543
0x1ADF -0x8b7 0xABCDEF987654
02376 -05432 076543234156
Dla wszystkich system liczenia wartość 0 jest prezentowana znakiem 0.
Literał Numeric służy też do zapisywania wartości liczb zmiennoprzecinkowych i zawiera dwie części: całkowitą i ułamkową, między którymi znajduje się znak "." (kropka). Literał Numeric dla liczb rzeczywistych może zawierać znak liczby oraz znak potęgi.
Literał rzeczywisty może zawierać literę e lub E, po której występuje wykładnik w postaci literału całkowitego ze znakiem, na przykład 1.5E+12, tj. liczbę 1,5 jest mnożona
przez potęgę +12 podstawy 10.
Przykłady:
1.7 -8.8e100.12E-4
-88.0 0.1234567e+17
Literał Boolean
Literał Boolean służy dla oznaczenia jednej z dwóch wartości "prawda" i "fałsz".
W języku JavaScript literały Boolean true i false opisują dwie wartości obiektów typu
logicznego.
Literał String
Literał String stosuje się dla oznaczenia wartości jednego znaku oraz dla oznaczenia
wartości wiersza. Tekst (pojedynczy znak lub łańcuch znaków) w języku JavaScript jest
zapisywany w apostrofach lub cudzysłowach, na przykład:
‘a’ ‘o’ „baobab”.
Escape - łańcuchy
Jako znak można stosować symboliczny opis sterujących kodów ASCII nazywany
Escape - łańcuchem:
\r - znak „powrót na początek wiersza”,
\n - znak „przejście do nowego wiersza”,
\b - znak „cofnięcie o jeden znak”,
\f - znak „przejście na nową stronę”,
\t - znak tabulacji,
\\ - znak "\",
\' - znak apostrofa,
\" - znak cudzysłowu,
\0ccc - znak w kodzie ósemkowym (ccc - kod ósemkowy),
\xHH - znak w kodzie szesnastkowym (HH - kod szesnastkowy).
\uHHHH - znak w kodzie UNICODE (HHHH - kod szesnastkowy) .
Przykłady:
'a' '\\''\'' '\r' '\t' '\n'
"nowy\r\nwiersz"
Literał Null
Literał Null null służy dla oznaczenia zerowej wartości referencji.
Separatory
Separatory rozdzielają wyrażenia lub konstrukcje językowe na części.
W języku JavaScript do separatorów doliczone nawiasy:
(
)
{
}
[
]
,
.
;
i znaki operatorów:
<
>
<=
>=
==
!=
===
!==
+
-
*
%
++
--
&&
||
?
:
<<
>>
<<<
>>>
&
|
^
!
~
=
+=
-=
*=
%=
<<=
>>=
<<<=
>>>=
&=
|=
^=
Operatory języka JavaScript
Operator
()
[]
.
!
~
+
++
-*
/
%
+
<<
>>
<<<
>>>
>
<
>=
<=
==
===
!=
!==
&
^
|
&&
||
?
:
=
&=
|=
^=
+=
-=
*=
/=
%=
<<=
>>=
<<<=
>>>=
,
Przeznaczenie
Funkcja
Indeks
Konkatenacja
Negacja logiczna
Negacja bitowa
Unarny operator znaku "plus"
Unarny operator znaku "minus"
Zwiększenie o jeden
Zmniejszenie o jeden
Mnożenie
Dzielenie
Dzielenie modulo
Binarny operator sumowania
Binarny operator odejmowania
Przesuwanie liczby ze znakiem w lewo ( w kierunku starszych cyfr)
Przesuwanie liczby ze znakiem w prawo (w kierunku młodszych cyfr)
Przesuwanie liczby bez znaku w lewo ( w kierunku starszych cyfr)
Przesuwanie liczby bez znaku w prawo (w kierunku młodszych cyfr)
Porównanie wartości na większy
Porównanie wartości na mniejszy
Porównanie wartości na niemniejszy
Porównanie wartości na niewiększy
Porównanie wartości na równo
Porównanie mocne (wartości i referencji) na równo
Porównanie wartości na nierówno
Porównanie mocne (wartości i referencji) na nierówno
Koniunkcja bitowa (iloczyn bitowy)
Różnica symetryczna bitowa
Alternatywa bitowa (suma bitowa)
Koniunkcja logiczna (iloczyn logiczny)
Alternatywa logiczna (suma logiczna)
Wybór
Separacja wariantów
Przypisanie
Przypisanie z koniunkcją bitową (iloczynem bitowym)
Przypisanie z alternatywą bitową (sumą bitową)
Przypisanie z różnicą symetryczną bitową
Przypisanie z sumowaniem
Przypisanie z odejmowaniem
Przypisanie z mnożeniem
Przypisanie z dzieleniem
Przypisanie z dzieleniem modulo
Przypisanie z przesuwaniem liczby ze znakiem w lewo ( w kierunku starszych cyfr)
Przypisanie z przesuwaniem liczby ze znakiem w prawo ( w kierunku młodszych cyfr)
Przypisanie z przesuwaniem liczby bez znaku w lewo ( w kierunku starszych cyfr)
Przypisanie z przesuwaniem liczby bez znaku w prawo ( w kierunku młodszych cyfr)
Separacja
Operator zwiększenia o jeden "++" i operator zmniejszenia o jeden
"--" może być stosowany w dwóch wariantach: przedrostkowym i przyrostkowym.
Etykiety
Etykieta oznacza instrukcję, do której w programie może być skok.
Na końcu etykiety powinny być napisany dwukropek.
Typy danych
W języku JavaScript nie ma deklaracji typów zmiennych, funkcji itp.
Typ jest ustawiany przez interpretator w zależności od kontekstu.
Operator typeof zwraca typ.
Typ Undefined
Obiekt typu Undefined ma tylko jedną wartość "undefined".
Taka wartość jest przypisywana zmiennej, która jest tylko zadeklarowana, ale tej
zmiennej nie jest przypisana wartość początkowa.
Przykład:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-2">
<title>Strona</title>
</head>
<body>
<p>Tekst testowy</p>
<script type="text/javascript">
var zmienna;
document.writeln(typeof zmienna);
</script>
</body>
</html>
Typ Null
Typ Null posiada tylko jedną wartość "null".
Taka wartość jest pokazywana, jeśli nie istnieje obiekt programowy.
Przykład:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-2">
<title>Strona</title>
</head>
<body>
<p>Tekst testowy</p>
<script type="text/javascript">
var zmienna=null;
document.writeln(zmienna);
</script>
</body>
</html>
Typ Boolean
Typ Boolean ma dwie wartości false („fałsz”) i true („prawda”).
Przykład:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-2">
<title>Strona</title>
</head>
<body>
<p>Tekst testowy</p>
<script type="text/javascript">
var zm2=false;
document.writeln(zm2);
</script>
</body>
</html>
Typ Number
Typ Number może reprezentować liczby całkowite oraz zmiennoprzecinkowe, tj. każdą liczbę rzeczywistą.
Liczba zmiennoprzecinkowa jest rozpoznawana przez znak "." (kropka).
Do zapisywania liczb zmiennoprzecinkowych można stosować też notację naukową
(wykładniczą).
Przykład:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-2">
<title>Strona</title>
</head>
<body>
<p>Tekst testowy</p>
<script type="text/javascript">
var zm31=70;
var zm32=0x70;
var zm33=070;
var zm34=70.7;
var zm35=7.7e1;
document.writeln(zm31);
document.writeln(zm32);
document.writeln(zm33);
document.writeln(zm34);
document.writeln(zm35);
</script>
</body>
</html>
Liczba musi być w zakresie (Number.MIN_VALUE, Number.MAX_VALUE).
Jeśli wartość wyrażenia będzie większa niż wartość Number.MAX_VALUE to będzie
pokazywana wartość Number.POSITIVE_INFINITY,
jako tekst "Infinity".
Jeśli wartość wyrażenia będzie mniejsza niż wartość Number.MIN_VALUE to będzie
pokazywana wartość Number.NEGATIVE_INFINITY, jako
tekst "-Infinity".
Liczba może mieć też wartość "NaN" ("Not a Number"), która powstaje w przypadku
niepoprawnej konwersji. Na przykład przy konwersji słowa na typ Number:
var nn=Number("numer");
Typ String
Typ String reprezentuje ciągi znaków w Unicode.
Przykład:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-2">
<title>Strona</title>
</head>
<body>
<p>Tekst testowy</p>
<script type="text/javascript">
var kolor1="czerwony"; //kolor zapełnienia prostokąta
var kolor0="czarny"; /* kolor stosowany w aplikacji dla wszystkich
graficznych obiektów */
document.writeln(kolor1);
document.writeln(kolor0);
</script>
</body>
</html>
Rzutowanie typów
Interpretator JavaScript może wykonać trzy rodzaje przekształceń typów:
Boolean(wartość_innego_typu),
Number(wartość_innego_typu),
String(wartość_innego_typu).
var
var
var
var
var
var
var
Przykłady:
vb1=Boolean(0); // false
vb2=Boolean(""); // false, ponieważ wiersz jest pusty
vb3=Boolean("body"); // true, ponieważ wiersz jest niepusty
vn1=Number(false); // 0
vn2=Number("1.0"); // 1.0
vs1=String(1.0); // "1.0"
vs2=String(true); // "true"
Wysokość liter ma znaczenie we wszystkich elementach języka.
Przykładowa definicja dwóch różnych zmiennych:
var kolor="czerwony"
var Kolor="czarny"
Średnik
Średnik kończący wiersz jest opcjonalny.
Na przykład:
var kolor1="czerwony"
var kolor2="czarny"
Interpretator JavaScript dołącza średnik na końcu wiersza. Dlatego należy kontrolować, czy koniec wiersza jest końcem instrukcji.
Konstrukcje programowe
Zmienne
Ważna cecha języka JavaScript:
Typ zmiennej zależy od przypisanej wartości.
Na przykład:
var zm=0; //zmienna całkowita
var zm="test"; //zmienna, łańcuch znaków
var zm=true; //zmienna logiczna
var kolor1="czerwony"; //zmienna, łańcuch znaków
var kolor0="czarny"; /* zmienna, łańcuch znaków */
Zmienna jest deklarowana za pomocą słowa kluczowego "var".
Zmienna może mieć właściwości i metody.
Na przykład:
var kolor1="czerwony";
document.writeln(kolor1.length); //wyświetla "8"
Przekształcenie (konwersja) wartości zmiennej
Interpretator JavaScript może wykonać konwersję wartości.
Konwersja wartości na łańcuch znaków
Dla konwersji wartości typu Boolean, Number i String na łańcuch znaków jest stosowana metoda ToString.
Przykład:
var liczba=1.2;
document.writeln(liczba.ToString()); //"1.2"
Metoda ToString może mieć argument - podstawę systemu liczenia.
Przykład:
var liczba=32;
document.writeln(liczba.ToString(2)); //"100000"
document.writeln(liczba.ToString(8)); //"40"
document.writeln(liczba.ToString(16)); //"20"
Konwersja wartości na liczbę
Mają zastosowanie funkcje parseInt i parseFloat.
Funkcje analizują ciąg znaków i zatrzymują się na znaku, który nie odpowiada liczbie.
Przykłady:
var i1=parseInt("2"); // 2
var i2=parseInt("2dolara"); // 2
var i3=parseInt("2.2"); // 2
var i4=parseInt("dolar"); // NaN
var f1=parseFloat("2.2"); // 2.2
var f2=parseFloat("2.2dolara"); // 2.2
var f3=parseFloat("2.2.3"); // 2.2
var f4=parseFloat("dolar"); // NaN
Funkcja parseInt może mieć drugi argument - podstawę systemu liczenia.
Przykłady:
var i1=parseInt("10",2); // 2
var i2=parseInt("010",8); // 8
var i3=parseInt("A",16); // 10
Blok programowy
Blok programowy jest oznaczany tak samo jak w języku C za pomocą nawiasów klamrowych.
Przykład.
if (indeks==0)
{
kolor="czerwony";
document.writeln("Kolor jest zmieniony na czerwony");
}
Klasy
Na szczycie hierarchii klas znajduje się klasa Object.
Funkcje
Składnia funkcji (podprogramu):
function _nazwa (arg1, arg2, ... , arg3)
{
// ... instrukcje
return _param;
}
Brak parametru _param oznacza, że funkcja nie zwraca wartości; w języku JavaScript ten przypadek jest interpretowany tak, że typ zwracanej wartości jest undefined.
W zakresie bloku programowego funkcji można stosować obiekt - tablicę "arguments".
Używając indeksu można odwoływać się do argumentów funkcji, na przykład arguments[0] to pierwszy argument funkcji.
Przykład definiowania i wywołania funkcji:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-2">
<title>Strona</title>
<script type="text/javascript">
function suma(a, b)
{
return a+b;
}
</script>
</head>
<body>
<p>Tekst testowy</p>
<script type="text/javascript">
var aa=5;
var bb=10;
var cc=suma(aa,bb);
document.writeln(cc);
</script>
</body>
</html>
Klasa Function umożliwia definiowanie funkcji w kodzie JavyScript:
var _nazwa=new Function(arg1,..., argN, treść_funkcji);
Przykład:
var suma=new Function(a, b, return a+b; );
Tablice
Tablice można wprowadzić do kodu JavaScript jako obiekty klasy Array.
Zadeklarowana tablica jest dynamiczna. Wprowadzenie nowego elementu rozszerza
tablicę.
Przykład:
var tabl=new Array(); //alokacja pustej tablicy
tabl[0]=0;
tabl[1]=1;
tabl[2]=2;
tabl[7]=7; // skok w rozmiarze tablicy;
// elementy [3]...[6] będą zerowe
Można zainicjalizować tablicę przy deklaracji:
var tabl=new Array(0, 1, 2, 3, 4);
//alokacja tablicy na 5 elementów
Jeszcze jeden sposób definicji tablicy:
var tabl=[0, 1, 2, 3, 4];
//alokacja tablicy na 5 elementów
Faktyczny rozmiar tablicy zwraca właściwość length:
var rozmiar=tabl.length;
Wyrażenia
Wyrażenie zawiera zmienne i wywołania funkcji połączone operatorami.
Instrukcja warunkowa
Instrukcja warunkowa:
if (warunek) blok1_instrukcji
else blok2_instrukcji;
Instrukcja switch
Składnia instrukcji switch:
switch (wyrażenie)
{
case wartość1: blok_instrukcji;
break;
//...
case wartośćN: blok_instrukcji;
break;
default: blok_instrukcji;
break;
}
Instrukcje iteracyjne
Instrukcja while
Składnia:
while (_warunek)
{
// blok instrukcji
}
Instrukcja do-while
Składnia:
do
{
// blok instrukcji
}
while (_warunek);
Instrukcja for
Składnia:
for (instrukcja_inicjalizacji;_warunek;instrukcja_zmiany)
{
// blok instrukcji
}
Instrukcje break i continue
Instrukcja break powoduje natychmiastowe zakończenie powtórzeń, a instrukcja
continue - natychmiastowe przejście na powtórzenie.
W instrukcjach break i continue może znajdować się etykieta instrukcji, do której
jest wykonany skok.
Instrukcja for-in
Służy do odwołania do wszystkich właściwościach obiektu.
Składnia:
for (_właściwość in _wyrażenie)
{
// blok instrukcji
}
Instrukcja with
Służy do skrócenia odwołania do właściwości lub metody obiektu.
Wewnątrz programowego bloku związanego z instrukcją with można nie wypisywać
nazwy obiektu.
Składnia:
with (nazwa_obiektu)
{
// blok instrukcji zawierający właściwości lub metody wskazanego obiektu
}

Podobne dokumenty