Professional Documents
Culture Documents
Literatura:
Zmienne
varNazwisko;
varImie, Nazwisko;
varkwota = 200;
Przykłady:
var temp=36.6; wartość zmiennoprzecinkowa
varliczbaFoto=5; wartość całkowita
vartypOdpowiedzi=true; wartość logiczna
vat motto=”struktura dom”; łańcuch znaków
var liczba=Math.random(); funkcja wewnętrzna biblioteki funkcji wewnętrznych
JavaScript ( wartość generatora liczba losowych)
var kwota =Math.floor(23.456) funkcja wewnętrzna funkcji wewnętrznych JavaScript
zaokrągla liczbę do wartości całkowitej
var liczba= parseInt(„12”) konwersja łańcuchów tekstowych na liczby całkowite
var liczba= parseFloat(„99.9”) konwersja łańcuchów tekstowych na liczby
zmiennoprzecinkowe
var wynik=(wynik-36)*3; wynik wyrażenia matematycznego
var win; zmiennej przypisana jest wartość niezdefiniowana undefined
Java Script
Nazwa zmiennej.Aby dobrze nazwać zmienną należy nadać jej znacząca nazwę i stosować
litery, cyfry oraz znak podkreślenia. Należy unikać nazw zarezerwowanych dla opisu elementów
języka. W nazwach wieloczłonowych dobrze jest stosować „notację wielbłądzią”.
Zasięg zmiennej. Zmienne maja określony zasięg. Zmienne zdefiniowane w funkcjach są
dostępne w obrębie tych funkcji, w momencie zakończenia wykonywania funkcji zmienna traci swoja
wartość. Zmienne zadeklarowane poza funkcją maja zasięg globalny.
Stałe. Wartość stałej musi być podawana podczas deklarowania i nigdy się nie zmienia.
Postac deklaracji stałej:
ConstNazwaUczelni=”UWM”
Typy danych
Typ danych i=określa jakiego typu informacje mogą być przechowywane w danej zmiennej
oraz jakich operacji można dokonywać na danych. Dostępnych jest kilka typów danych: typ tekstowy-
String, typ liczb całkowitych - Integer, typ liczb zmiennoprzecinkowych- float, typ logiczny- Boolean
(dwie wartości true, false).
Istnieją sekwencje sterujące, rozpoczynające się od znaku \, które mogą być przechowywane
w zmiennej String:
\b- znak cofania
\t- tabulacja
\n- nowa linia
\f – wysunięcie strony
\r –przejście do nowej linii
\ ‘’- podwójny cudzysłów
\ ‘ – pojedynczy cudzysłow
\ \- ukośnik
Switch (wyrażenie) {
Case wyrażenie: instrukcja; break;
Case wyrażenie: instrukcja; break;
Default:instrukcja3;}
Instrukcje iteracyjne - Pętle
Pętle umożliwiają powtórzenie instrukcji dopóki nie zostanie spełniony warunek.
Pętla for: Na początku zostanie ustalony stanPoczatkowy, następnie pętla będzie
wykonywana aż do spełnienia warunku określonego jako warunekZakończenia, przy każdej iteracji
będą wykonywane operacje umieszczone w zmiany.
for (stanPoczatkowy; warunekZakończenia; Zmiany)
Przykład:
for (sprawdzenie=3; sprawdzenie>0; sprawdzenie --){
alert (” w trakcie sprawdzania”);
}
alert (” wykonano wszystkie sprawdzenia”);
Do {}
While (warunekKońcowy);
Skrypt JavaScript może współpracować ze strukturą DOM ( ang. Document Object Model –
Obiektowy model Dokumentu) dokumentu HTML. Język JavaScript udostępnia następujące
możliwości wyświetlania informacji:
Przykład:
DOM
window
html
head body
• location- przechowuje adres URL strony. Jeśli wpiszesz jej nowa wartość przeglądarka przejdzie
pod wskazany adres.
• status – przechowuje łańcuch wyświetlany w pasku statusu przeglądarki
• defaultStatus– określa domyślna treść paska statusu
• onload – przechowuje nazwę funkcji, która ma zostać wywołana po całkowitym załadowaniu
strony i utworzeniu struktury DOM
• document- przechowuje strukturę DOM.
• Alert() – wyświetla okienko z komunikatem i przycisk OK
• Prompt()–wyświetla okienko z komunikatem, ale umożliwia pobranie informacji od użytkownika
• Confirm()- wyświetla okienko z komunikatem oraz dwa przyciski OK i Cancel
• Open (URL, nazwa, opcje) – otwiera nowe okno przeglądarki
• Close()- zamyka okno przeglądarki. Argument URL jest adresem strony, która zostanie
wyświetlona w nowym oknie, a argument nazwa jest nazwą nowego okna przeglądarki.
• scrollBY(x,y) – metoda przesuwa zawartość okna o x pikseli w poziomie i y pikseli w pionie
• setTimeout- wywołuje funkcję zwrotną po ustalonym czasie (pozwala na wykonanie kodu z
pewnym opóźnieniem). Posiada dwa argumenty- kod JS, wielkość opóźnienia w milisekundach
• setInterval – wywołuje funkcję zwrotną cyklicznie w ustalonych interwałach
function odlicz(){
seTimeout(‘’alert(‘czas minął’)’’,5000);
// funkcja clearTimeout ()- zatrzymuje uruchomiony wątek
}
cw - Tworzenie nowego okna przeglądarki
Java Script
functionNoweOkno() {
varNoweOkno=windows.open(“podstrona.html”, ‘nazwa nowego okna”, left=50,top=50,
width=450,menubar=no,scrollbars=no);
}
Obiektdocument– jest właściwością obiektu window. Za jego pomocą można uzyskać dos tęp
do struktury DOM.
Obiekt location – pozwala na manipulowanie adresem strony. Modyfikując właściwość tego obiektu,
możemy na przykład przekierowywać przeglądarkę na inne adresy.
• appName
• appVersion
• browserlanguage
• platform
• userAgent
• userLanguage
Zdarzenie - Najprostszą metoda komunikacji jest wciśnięcie przycisku na stronie. Każdy element na
stronie umożliwiającą obsługę zdarzenia kliknięcia za pomocą właściwości onclick.
Funkcja jest zgrupowaną sekwencja instrukcji języka, której nadano jakąś nazwę. Funkcje
przygotowuje się raz, a później możne jej używać wielokrotnie. W celu przygotowania funkcji należy
określić, co ta funkcja ma robić i nadać jej odpowiednią nazwę. Aby funkcje mogły wykonać
jakąkolwiek operację. Musza zostać wywołane w kodzie strony HTML.
<script >
function pokazoknoKom(tekst) {
varmData=new Date();
varmKom="Ważne info\n\n";
mKom+=tekst+"\n\n"
mKom+="wygenerowano o godzine: "+ mData.toTimeString()+"\n"
alert(mKom)
}
</script>
<script>
pokazoknoKom("na tej stronie znajdujasie funkcje JS")
</script>
Funkcje zwracające informacje
Możemy tworzyć funcie , które będą odsyłały informacje do wywołującego je kodu. Na takie działanie
pozwala słowo kluczowe return, które najczęściej jest umieszczane na samym końcu kodu funkcji.
Java Script
Taka instrukcja od razu kończy działanie funkcji i zwraca do wywołującego kodu dowolną
zdefiniowana przez nas informację.
<script >
function mnozenieLiczb(A,B)
{ return A * B }
</script>
<script
varwynik = mnozenieLiczb(50, 80) ;
document.writeln("wynik funkcji ");
document.writeln(wynik);
alert(wynik)
</script>
Pola tekstowe–dana wpisana w kontrolce input można pobrać za pomocą funkcji.
<style type="text/css">
.stylczerwony{color:red;}
.stylzielony{color:green;}
</style>
</head>
<body>
<h1>programyjavascript</h1>
<div id="nazwa" onclick="zmien()"></div>
<script type="text/javascript">
document.getElementById("nazwa").innerHTML="<h2>jabłko</h2>";
document.getElementById("nazwa").className="stylzielony";
function zmien(){
document.getElementById("nazwa").innerHTML="<h2>apple </h2>";
document.getElementById("nazwa").className="stylczerwony";}
</script>
Obiekty
<script >
varmData=new Date();
varmKom="Dzisiejsza data:";
mKom=mKom+mData.toDateString()
document.write(mKom)
</script>
Java Script
JSON
JavaScript Object Notation– lekki format wymiany danych komputerowych. JSON jest formatem
tekstowym, będącym podzbiorem języka JavaScript.
• Zbiór par nazwa/wartość. W różnych językach jest to implementowane jako obiekt, rekord,
struktura, słownik, tabela, lista z kluczem, albo tabela asocjacyjna.
• Uporządkowana lista wartości. W większości języków implementuje się to za pomocą tabeli,
wektora, listy, lub sekwencji.
Obiekt jest nieuporządkowanym zbiorem par nazwa/wartość. Opis obiektu rozpoczyna { (lewa klamra)
a kończy } (prawa klamra). Po każdej nazwie następuje : (dwukropek) oraz pary nazwa/wartość,
oddzielone , (przecinkiem).Np. {nazwa1:wartość1, nazwa2:wartosc2}
{"dane":{"user":[{"imie":"Jan","nazwisko":"Kowalski"},{"imie":"Piotr","nazwisko":"Nowak"}]}}
Tabela jest uporządkowanym zbiorem wartości. Opis tabeli rozpoczyna znak [ (lewy nawias
kwadratowy) a kończy znak ] (prawy nawias kwadratowy). Poszczególne wartości rozdzielane są znakiem
, (przecinek). Np.[2,3,6].
Wartość to łańcuch znakowy, którego początek i koniec oznacza podwójny cudzysłów, lub liczba, lub
wartość true (prawda) lub false (fałsz) lub null, lub obiekt lub tabela. Np. „true”Struktury te można
zagnieżdżać.
Łancuch znakowy jest zbiorem zera lub większej ilości znaków Unicode, opakowanym w podwójne
cudzysłowy, stosujących znak odwrotnego ukośnika jako początek sekwencji specjalnej (escape).
Pojedynczy znak jest reprezentowany jako łańcuch jednoznakowy. Łańcuch znakowy JSON jest
podobny do łańcucha znakowego C lub Java. Np. „ala ma kota”
Liczby zapisywane w formacie JSON są bardzo podobne do liczb w języku C lub Java, poza tym
wyjątkiem, że nie używa się formatów ósemkowych i szesnastkowych. Np. 17
• stringify
• parse
Obiekt localStorage
localStorage[„klucz”]=”wartosc”
1-Utwórz stronę z obrazem i napisem w języku polskim w kolorze zielonym, np. obraz jabłka i napis
„jabłko”. Utwórz skrypt, który spowoduje, ze po kliknięciu na napis w języku polskim pojawi się napis
w języku angielskim w kolorze czerwonym.
2-Utwórz stronę z trzema napisami w języku polskim w kolorze zielonym,. Utwórz skrypt, który
spowoduje, ze po kliknięciu na kolejne napisy w języku polskim pojawi się napis w języku angielskim
w kolorze czerwonym.
3-Utwórz stronę na której będziesz uzupełniał słowa w języku polskim w polach tekstowych. W
momencie ukończenia pisania słowo to pojawi się w języku angielskim w stylu h2.
4-Utwórz stronę z dwoma rysunkami, w momencie wybrania danego rysunku pojawi się napis w
języku polskim i angielskim.
5-Utwórz listę rozwijalna zwierają trzy elementy foto. Wybór z listy spowoduje załadowanie się
odpowiedniej fotografii na stronę.
6-Utwórz stronę, która będzie sprawdzała i wyświetlała użytkownikowi długość tekstu znajdującego
się w polu <textarea>.
8-Utwórz stronę, która będzie przetwarzała wprowadzony tekst zgodnie z wyborem w polu opcji:
pogrubienie, kursywa.
9-Utwórz stronę składająca się z nagłówka tekstu. Zdefiniuj funkcje obsługi zdarzenia polegającą na
zamianie tekstu wewnątrz nagłówka w zależności od najechaniu myszy na nagłówek i obsługi
zdarzenia opuszczenia obszaru nad nagłówkiem przez mysz.
10-Utwórz stronę zawierająca formularz z pole tekstowe przeznaczonym na wpisanie nazwy firmy i
poleceniem wpisania. Zdefiniuj funkcje obsługi wpisania przez użytkownika nazwy firmy.
Java Script
11-Utwórz stronę zawierająca formularz z pole tekstowe przeznaczonym na wpisanie z adresu e-mail i
poleceniem wpisania. Zdefiniuj funkcje obsługi wpisania przez użytkownika poprawnego adresu e-
mail.
12-Utwórz stronę wczytującą ilość kg i wzrost i wyświetlającą wyliczony wskaźnik BMI w oknie
dialogowym .
13-Utwórz stronę wczytującą wiek i wyświetlająca informację w zależności od wieku hej, cześć,
witam, dzień dobry.
16-Utwórz stronę zawierająca formularz z pole tekstowe przeznaczonym na wpisanie wagi poleceniem
wpisania. Zdefiniuj funkcje obsługi wpisania przez użytkownika poprawnej wagi.
Laboratorium 02
Utwórz funkcję losującą trzy słowa z trzech zbiorów i generującą w ten sposób frazę.
Zbior1: pełnowymiarowo, wielopłaszczyznowo, dalekosiężnie, biznesowo, optymalnie
Zbiór1: akredytowane, wzmożone, zorientowane, skupione, zrównoważone
Zbiór 3: procesy, rozwiązania, zagadnienia, strategie, wizje
Java Script
document
html
head body
input input li
4. Zaktualizuj funkcję handleButtonClick tak, aby funkcja pobierała informację z pola tekstowego
txtInput i wyświetlała w oknie komunikatu kontrolnie pobraną informację, a w przypadku gdy
użytkownik nic nie wpisał, aby wyświetlała komunikat informujący o konieczności informacji
tytułu „Musisz wpisać informację!”.
5. Wyświetl wpisane informacje w polu tekstowym na stronę. W tym celu za każdym razem, gdy
wprowadzisz nowa informację należy spowodować, aby do listy „elementy” została dodana
kolejna pozycja <li>, która będzie przechowywała wprowadzoną informację.
Java Script
var li=document.createElement(„li”);
li.innerHtml=”zawartość elementu”
• Dodawanie elementu do struktury DOM. Aby dodać element <li> należy sprawić , aby stał się
on dzieckiem <ul> o identyfikatorze elementy.
varul = document.getElementByID(‘’elementy”);
ul.appendChild(li);
Algorytm pobrania:
Algorytm zapisu:
Rysunek 3
Agencja zwróciła się z prośbą o zaprojektowanie aplikacji , która będzie pokazywała aktualne
odjazdy linii znajdujące się na tablicy odjazdów .
1. Zaprojektuj obiekt Linia. Budowa każdego obiektu to cel (title), rodzaj (gender) wydarzenia,
ocena (rating) i godzinyodjazdów (ODtimes).
var Linia1 = {
title: "Ostróda ME",
genre: "19 osób",
rating: 2,
ODtimes: ["15:00", "19:00", "23:00"],
};
varLinia2 = {
title: "Ostróda DU",
genre: "25 osób",
rating: 5,
ODtimes: ["17:00", "21:00"],
};
2. Napisz funkcję która przekształca łańcuch zawierający godzinę 17:00 na czas wyrażony w
milisekundach.
function getTimeFromString(str) {
vartheTime = new Date();
var time = str.match(/(\d+)(?::(\d\d))?/);
theTime.setHours( parseInt(time[1]) || 0);
theTime.setMinutes( parseInt(time[2]) || 0 );
return theTime.getTime();
}
3. Napisz kod , którego zadaniem będzie informowanie o najbliższym odjeździe. Funkcja jako
argument będzie przyjmowała obiekt linia, a zwracaną wartością będzie łańcuch zawierający
godzinę kolejnego odjazdu na podstawie bieżącego czasu.
function getNextOD(linia) {
var now = new Date().getTime();
for (vari = 0; i<linia.odtimes.length; i++) {
varodtime = getTimeFromString(linia.odtimes[i]);
if ((odtime - now) > 0) {
return "Następny odjazd " + linia.title + " zaczyna się o " +
linia.odtimes[i];
}
}
return null;
}
Java Script
4. Przeprojektuj kod tak, aby funkcja getNextOD(linia) stała się metodą obiektu Linia.
Wywołanie:
Wywołanie:
Java Script
TEST- JavaScript
var count=0;
for (vari=0;i<5,i++) {
count=count+i;
}
3. Ile razy zobaczysz okno z komunikatem „ w trakcie sprawdzania”? ____________
var tops=5;
while (tops >0) {
for (var spins=0;spins<3;spins++) {
alert(“w trakcie sprawdzania”);
}
tops=tops-1;
var slowo1=”M”;
var slowo2=”TU JEŻO”;
var slowo3=”A DA TOR”;
var slowo4=”A DAMA SA”;
var slowo5=”MOŻE JUTRO T”;
varfraza=””;
……????
Java Script
alert(fraza);
7. Dla podanego kodu HTML stwórz model DOM
<!DOCTYPE html>
<html>
<head>
<title>Wakacje</title>
<meta charset="utf-8">
<link rel="stylesheet" href="css/styl.css" />
</head>
<body>
<div id="strona">
<div id="logo">Strona z wakacji</div>
<div id="menu">
<ul>
<li><a href="index.html" >Strona główna</a></li>
<li><a href="londyn.html" >Londyn</a></li>
<li><a href="paryz.html" >Paryż</a></li>
<li><a href="kontakt.html" >Kontakt</a></li>
</ul>
</div>
<div id="tresc">
<h1>Paris, moje fotografie</h1>
<p>Wybrałem kilka fotografii, gdzie widok szczególnie mnie zachwycił</p>
<p>Moją ulubioną restauracją jest małe bistro zwane</p>
<p>Moje ulubione miejsca godne polecenia:</p>
<div class="galeriagaleriaParyz">
<table>
<tr>
<td><imgsrc="img/f1.jpg" alt=""/></td>
<td><imgsrc="img/f2.jpg" alt=""/></td>
<td><imgsrc="img/f3.jpg" alt=""/></td>
</tr>
<tr>
<td>L'Arc de Triomphe</td>
<td>La Tour Eiffel</td>
<td>Tower Bridge</td>
</tr>
</table>
</div>
</div>
<div class="clear"></div>
</div>
</body>
</html>
Java Script