TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty



Podobne dokumenty
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

XML extensible Markup Language. część 5

Krótki kurs JavaScript

Podstawy JavaScript ćwiczenia

JAVAScript w dokumentach HTML - przypomnienie

Zdarzenia Zdarzenia onload i onunload

JAVAScript w dokumentach HTML (2)

XML extensible Markup Language. część 5

Pierwszy program. else1 <html> <body> <script type="text/javascript"> var d = new Date()

Funkcje i instrukcje języka JavaScript

Wykład 03 JavaScript. Michał Drabik

Cw.12 JAVAScript w dokumentach HTML

JAVAScript tablice, przekazanie danych do funkcji, obiekty Date i window

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

JAVAScript w dokumentach HTML (1)

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

Zaawansowane aplikacje internetowe

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Celem ćwiczenia jest zapoznanie z językiem HTML i JavaScript, zasadami tworzenia stron WWW i umieszczania na nich skryptów w języku JavaScript.

Delphi podstawy programowania. Środowisko Delphi

Zajęcia 4 - Wprowadzenie do Javascript

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p.

C++ Przeładowanie operatorów i wzorce w klasach

ZASADY PROGRAMOWANIA KOMPUTERÓW

CZYM JEST JAVASCRIPT?

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Programowanie obiektowe. Wykład 4

Tworzenie Stron Internetowych. odcinek 10

Wykład 8: klasy cz. 4

Aplikacje internetowe

Wykład 5: Klasy cz. 3

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Ilość cyfr liczby naturalnej

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Programowanie obiektowe

PHP: bloki kodu, tablice, obiekty i formularze

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Informatyka II. Laboratorium Aplikacja okienkowa

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Lab 9 Podstawy Programowania

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Kompozycja Proceduralna

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Tworzenie i wykorzystanie usług sieciowych

Test przykładowy 2 PAI WSB Wrocław /06/2018

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów typu Anchor.

DOM (Document Object Model)

Personal Home Page PHP: Hypertext Preprocessor

Pętle. Dodał Administrator niedziela, 14 marzec :27

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Programowanie strukturalne i obiektowe. Funkcje

W dowolnym momencie można zmienić typ wskaźnika.

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Tworzenie Stron Internetowych. odcinek 9

Rozdział 4 KLASY, OBIEKTY, METODY

FLEX ( ) Przygotowanie środowiska developerskiego Hello world w MXML Hello world w ActionScript

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

OBIEKTY PHP. G. Panuś

document.write <SCRIPT> <!-- document.write("dzień dobry"); //--> </SCRIPT> Skrypt na stronie www

Podstawy JavaScript. <script type="text/javascript"> kod skryptu </script>

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Programowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska

Dokumentacja imapliteapi

Zmienne i stałe w PHP

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Obiekt navigator. Dodał Administrator wtorek, 16 marzec :32

Argumenty wywołania programu, operacje na plikach

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Dokumentacja do API Javy.

Szablon główny (plik guestbook.php) będzie miał postać:

Zmienne, stałe i operatory

Pomoc dla systemu WordPress

Podstawy programowania w języku JavaScript

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Zawartość specyfikacji:

1 Podstawy c++ w pigułce.

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Laboratorium 6 Tworzenie bloga w Zend Framework

Dokumentacja WebMaster ver 1.0

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

Przykład 1: Funkcja jest obiektem, przypisanie funkcji o nazwie function() do zmiennej o nazwie funkcja1

Transkrypt:

1. Co to jest funkcja? Funkcja jest oddzielnym blokiem kodu, który może być wielokrotnie wykonywany w danym programie, poprzez jej wielokrotne wywoływanie. Do funkcji przekazujemy przeważnie jakieś argumenty, a funkcja może nam zwracać jakąś wartość. Dobrze jest tworzyć funkcję tak, aby wykonywała jedno określone zadanie - czyli większe operacje w programie rozdzielamy na kilka wywoływanych kolejno funkcji. Dzięki temu tworzymy cegiełki, z których budujemy potem cały skrypt, a które możemy wykorzystać w innych skryptach (gdy zapiszemy je w oddzielnych plikach). 1

1. Co to jest funkcja? Funkcję definiujemy na początku kodu strony - czyli w sekcji HEAD, a wywołujemy ją w dowolnym miejscu poniżej, jeżeli zajdzie taka potrzeba. Dzięki temu możemy być pewni, że funkcja jest załadowana, zanim następuje jej wywołanie. 2. Jak zdefiniować funkcję? Po słowie function piszemy jej nazwę i w nawiasach argumenty, jakie chcemy jej przekazać. Kod wykonywany przez funkcję umieszczamy pomiędzy klamrą otwierającą { i zamykającą, która jest równoznaczna z końcem funkcji. 2

function nazwa_funkcji(argument1, argument2, itd) { kod wykonywany przez funkcję Funkcja bezargumentowa wygląda tak: function pomoc() { document.write("<a href=\"pomoc.html\"> <img src=\"help.gif\" width=\"15\" height=\"10\" alt=\"help\" /></a>") 3

Dzięki takiej funkcji nie musimy wstawiać za każdym razem w treści strony żmudnie document.write, kiedy chcemy odesłać użytkownika do strony z pomocą. Wywołujemy naszą funkcję pomoc: document.write("jeżeli nie wiesz co zrobić dalej, zobacz pomoc: ") pomoc() // to jest wywołanie funkcji w programie 3. Funkcja zwracająca wartość. Znaczna część funkcji jakie stworzysz, będzie otrzymywała jakieś dane, przetwarzała je i zwracała wynik z powrotem do programu. Napiszmy funkcję dodającą dwie liczby: 4

function suma(liczba1, liczba2) { sumaliczb=liczba1+liczba2 // dodaje liczby i przypisuje nowej zmiennej wynik=sumaliczb return wynik // zwraca zmienną wynik w programie wywołamy funkcję tak: a=1; b=2; c=suma(a,b) // funkcja zwraca wartość, która jest podstawiana do zmiennej c document.write("c="+c+" to samo co: "+ suma(a,b)) 5

4. Zakres zmiennych. Zasięg zmiennej jest to inaczej czas jej życia - czyli w jakich miejscach kodu JavaScript ją widzi i można z niej korzystać. Pod tym względem dzielimy je na lokalne i globalne. Zmienne lokalne to takie, które są deklarowane wewnątrz funkcji i które giną wraz z zakończeniem działania tej funkcji. Zatem zmiennej sumaliczb utworzonej w powyższym przykładzie nie możemy użyć nigdzie poza funkcją suma. Zmienne globalne natomiast, deklarowane poza funkcją - są dostępne od momentu ich pierwszego użycia aż do końca kodu HTML. W niektórych przeglądarkach - jak Internet Explorer - nie musimy się martwić o zasięg - zmienna jest dostępna od momentu jej pierwszego użycia, do końca kodu strony. 6

5. Funkcje predefiniowane JavaScript. Pisząc skrypty mamy zawsze dostęp do zestawu funkcji standardowych dla JavaScript. Należy do nich przykładowo funkcja alert - wyświetlająca okienko dialogowe z informacją i przyciskiem OK, albo prompt - wyświetlającej okienko, w którym użytkownik może wpisać wartość zwracaną potem do programu. alert("witam na mojej stronie") document.write("miło mi Cię gościć "+ prompt("podaj imię:") +" na mojej stronie") 7

5. Obiekty. Czasami zachodzi sytuacja, w której potrzeba nam "zmiennej" bardziej szczegółowo opisującej rzecz, stan, osobę czy zjawisko której dotyczy. Jeżeli opisujemy np. samochód, to nie wystarczy nam, gdy podamy tylko rok produkcji, tylko jego markę, lub maksymalną prędkość, czy pojemność silnika. Chcielibyśmy mieć możliwość opisania wszystkich właściwości samochodu, jakie nam będą potrzebne i jednocześnie przy tym nie robić bałaganu w kodzie, poprzez wiele niepotrzebnych zmiennych, lub innych zastępczych rozwiązań, typu tablice. Do tego właśnie służą obiekty. Odzwierciedlają one "coś" ze świata rzeczywistego w świat komputera. 8

5. Obiekty. Obiekty są konstrukcjami programistycznymi posiadającymi tzw. właściwości, którymi mogą być zmienne lub inne obiekty. Z obiektami powiązane są funkcje wykonujące operacje na jego właściwościach, a nazywamy je metodami. Do właściwości danego obiektu możemy się dostać używając zapisu: nazwa_obiektu.nazwa_właściwości Np. jeśli mamy obiekt "auto", może on mieć właściwości: marka, rok, cena. Aby określić właściwości naszego obiektu będziemy musieli wykonać instrukcje: 9

auto.marka="opel Omega" auto.rok=1996 auto.cena=25000 Można również skorzystać z innej notacji w zależności od upodobań: nazwa_obiektu[nazwa_właściwości] np. auto[cena] Aby korzystać z obiektów w naszych skryptach, musimy go zdefiniować, tworząc funkcję zwaną konstruktorem, a następnie powołać do życia za pomocą operatora new. 10

function auto(marka,rok,cena,wlasciciel) { // w sekcji HEAD this.marka=marka this.rok=rok this.cena=cena this.wlasciciel=wlasciciel function osoba(imie,nazwisko) { this.nazwisko=nazwisko this.imie=imie posiadacz=new osoba("jan","kowalski") // dalej w kodzie HTML bryka=new auto("ferrari",2003,200000,posiadacz) document.write("marka: "+ bryka.marka +" rocznik: "+ bryka.rok +" cena: "+ bryka.cena) document.write("<br>wlasciciel: "+ bryka.wlasciciel.imie +" "+ bryka.wlasciciel.nazwisko) 11

Jednak takie wyciąganie danych z obiektów wcale nie czyni ich wygodnymi w użyciu - właśnie dlatego mamy dodatkowo możliwość zdefiniowania metod. Do naszego przykładu dodamy metody wyświetlające właściwości naszych obiektów. Modyfikujemy kod tak jak poniżej: function pokaz_auto() { dane="marka: "+ this.marka +" Rocznik: "+ this.rok +" Cena: "+ this.cena +"<br>" document.write(dane) this.wlasciciel.pokaz() // metoda pokaz obiektu osoba function pokaz_osoba() { dane="imie: "+ this.imie +" nazwisko: "+ this.nazwisko +"<br>" document.write(dane) 12

function auto(marka,rok,cena,wlasciciel) { this.marka=marka this.rok=rok this.cena=cena this.wlasciciel=wlasciciel this.pokaz=pokaz_auto // dodajemy metode pokazujaca dane naszego auta function osoba(imie,nazwisko) { this.nazwisko=nazwisko this.imie=imie this.pokaz=pokaz_osoba // dodajemy metode pokazujaca nasza osobe // tu koniec funkcji pisanych w sekcji HEAD // potem gdzieś gdzie nam potrzeba: posiadacz=new osoba("jan","kowalski") bryka=new auto("ferrari",2003,200000,posiadacz) bryka.pokaz() // pokazuje nam wszystkie wlasciwosci naszego obiektu 13

Jak widać powyżej, stworzenie metod wyświetlających dane samochodów, procentuje w wypadku, gdy piszemy skrypty na stronę wielokrotnie wyświetlającą wiele różnych samochodów - np. z prywatnej kolekcji. Wtedy już martwimy się tylko o odpowiednie stworzenie obiektów, a całe wyświetlanie robi za nas jego metoda. 14

Przykłady funkcji: <html> <head> <script type="text/javascript"> function displaymessage() { alert("hello World!"); </script> </head> <body> <form> <input type="button" value="click me!" onclick="displaymessage()" /> </form> </body> </html> 15

Przykłady funkcji: <html> <head> <script type="text/javascript"> function product(a,b) { return a*b; </script> </head> <body> <script type="text/javascript"> document.write(product(4,3)); </script> <p>the script in the body section calls a function with two parameters (4 and 3).</p> <p>the function will return the product of these two parameters.</p> </body> </html> 16

Przykłady funkcji: html> <head> <script type="text/javascript"> function myfunction(txt) { alert(txt); </script> </head> <body> <form> <input type="button" onclick="myfunction('hello')" value="call function"> </form> <p>by pressing the button above, a function will be called with "Hello" as a parameter. The function will alert the parameter.</p> </body> </html> 17