Programowanie obiektowe. Wykład 3

Podobne dokumenty
Style CSS definicja i wykorzystanie klasy

JAVAScript - obiekty HTML

Programowanie obiektowe. Wykład 4

2.JAVAScript - obiekty HTML

Dzięki arkuszom zewnętrznym uzyskujemy centralne sterowanie wyglądem serwisu. Zewnętrzny arkusz stylów to plik tekstowy z rozszerzeniem css.

Informatyka MPDI 3 semestr

HTML. HTML(ang. HyperTextMarkupLanguage, pol. hipertekstowy język znaczników) język wykorzystywany do tworzenia stron internetowych

Krótki przegląd własności języka CSS

XML extensible Markup Language. część 5

Danuta ROZPŁOCH-NOWAKOWSKA Strona Moduł 4. Przykład 1. Przykład 2. HTML 4.01 Transitional).

Model blokowy. Model blokowy w CSS


Funkcje i instrukcje języka JavaScript

Box model: Content. Content - obszar zawartości określany jest za pomocą deklaracji wysokości i szerokości.

Rys.2.1. Drzewo modelu DOM [1]

Informatyka 2MPDI. Wykład 4

Zdefiniowane style mogą określać układ treści na stronie i sposób jej formatowania np. kolor czcionki, pogrubienia, tło tabel, rysunków itp.

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

Przykład integracji kalkulatora mbank RATY na platformie IAI

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

Zajęcia 4 - Wprowadzenie do Javascript

Podstawy JavaScript ćwiczenia

JAVAScript w dokumentach HTML (2)

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

I. Wstawianie rysunków

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

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

za pomocą: definiujemy:

Wykład 03 JavaScript. Michał Drabik

CSS. Kaskadowe Arkusze Stylów

Kaskadowe arkusze stylów (CSS)

JAVAScript definicje własnych obiektów i ich instancje cd. //tu samodzielnie dopisać kod działań z wykorzystaniem definicji klasy

kaskadowe arkusze stylów

HTML (HyperText Markup Language) hipertekstowy język znaczników

Programowanie WEB PODSTAWY HTML

XML extensible Markup Language. część 5

Mechatronika PWSW. Informatyka. Wykład 2

CSS - 2. Właściwości tekstu, czcionek

SterBox. Przygotowanie Strony Użytkownika

CSS pozwala przypisać poszczególnym elementom na. grubość, rozmiar czcionki, kolor tła, odległości między

WYKŁAD 4 JĘZYK JAVASCRIPT CZĘŚĆ 1

LABORATORIUM 3 WSTĘP DO SIECI TELEINFORMATYCZNYCH CSS CECHY WYBRANYCH SELEKTORÓW

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

Laboratorium 6 Tworzenie bloga w Zend Framework

DOM (Document Object Model)

Aplikacje WWW - laboratorium

Young Programmer: HTML+PHP. Dr inż. Małgorzata Janik, Zajęcia #2

Dokumentacja Skryptu Mapy ver.1.1

Ćw.4 Dokumenty HTML Przy pomocy języka znaczników opisać można strukturę witryny internetowej, postać i wygląd jej elementów.

Podstawy programowania w języku JavaScript

Krok 1: Stylizowanie plakatu

Zdarzenia Zdarzenia onload i onunload

Wprowadzenie do Internetu zajęcia 3

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

Laboratorium 1: Szablon strony w HTML5

Wykład 3 Składnia języka C# (cz. 2)

Kaskadowe arkusze stylów cz. 2

Technologie informacyjne Mechatronika PWSW. W4-24.XI Pakiet Office edytor HTML

Współdziałanie przeglądarki i skryptów w pliku HTML (lub XML), oraz współdziałanie przeglądarki i ekranu ilustruje niżej położony rysunek.

Tworzenie Stron Internetowych. odcinek 7

I. Formatowanie tekstu i wygląd strony

p { color: yellow; font-weight:bold; }

JAVAScript w dokumentach HTML - przypomnienie

Tworzenie Stron Internetowych. odcinek 6

Często używanym elementem języka HTML są tabele, które wykorzystuje się do wygodnego rozmieszczania informacji i obrazów.

Tworzenie Stron Internetowych. odcinek 10

Tworzenie stron internetowych w kodzie HTML Cz 5

Podstawy HTML i styli CSS. selektor {właściwość1: wartość1; właściwość2: wartość2}

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

Tworzenie stylów w HTML

Projektowanie aplikacji internetowych. CSS w akcji

Podstawy HTML i CSS. Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski

Aplikacje internetowe

plansoft.org Zmiany w Plansoft.org

Ćwiczenie 9 - CSS i wstawianie CSS

Zaawansowane aplikacje internetowe

Dziedziczenie. Dziedziczenie i kaskadowość. Dodał Administrator środa, 10 marzec :00. Tematy: Dziedziczenie Kaskadowość

Dokument hipertekstowy

JavaScript - wykład 4. Zdarzenia i formularze. Obsługa zdarzeń. Zdarzenia. Mysz. Logiczne. Klawiatura. Beata Pańczyk

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

Ilość cyfr liczby naturalnej

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

Witryny i aplikacje internetowe

WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.)

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

HTML DOM, XHTML cel, charakterystyka

HTML (HyperText Markup Language)

Krótki kurs JavaScript

Elementarz HTML i CSS

Innowacja pedagogiczna Pasja programowania ZESPÓŁ SZKÓŁ W CHOROSZCZY

Załącznik Nr 2 do Uchwały Nr XXIX/181/2014 Rady Gminy Bojszowy z dnia 17 stycznia 2014 r.

Ten skrypt powinien zająć 2-3 zajęcia. Trzeba go oddać na trzecim labie.

Węzeł. Korzeń (Root) Poprzedni sąsiad (Previous sibling) (Next sibling) Pierwsze dziecko (First child) Ostatnie dziecko (Last child) (Children)

Podstawy (X)HTML i CSS

Kaskadowe arkusze stylów

WYKŁAD 5 BIBLIOTEKA JQUERY CZĘŚĆ 1

Załącznik nr 2 do uchwały Nr XXII/ 141 /2013 Rady Gminy Bojszowy z dnia r. <?xml version="1.0" encoding="utf-8"?>

Wprowadzenie do Internetu zajęcia 4

Systemy internetowe Wykład 2 CSS

Transkrypt:

Programowanie obiektowe Wykład 3

DOM model dokumentu HTML Dokument HTML składa się z obiektów (standardowych i utworzonych przez użytkownika). Głównym obiektem jest document, posiada strukturę drzewiastą składowych (obiektów wewnętrznych- znaczników na stronie) tworzących tzw. DOM (Document Object Model). Wykorzystamy do wizualizacji funkcjonalności obiektowych

Jak widać elementy mają hierarchię, mogą się zagnieżdżać ("rodzice" i "dzieci").

Obiekt document Obiekt document jest ważnym obiektem JavaScript. Zawiera on informacje o bieżącej stronie i dostarcza wielu sposobów wyświetlania strony HTML. Składnia wykorzystania właściwości i metod: document.właściwośćciwo lub document.metoda( )

Wybrane właściwości Właściwość document.linkcolor document.bgcolor document.fgcolor document.lastmodified document.location document.title document.body document.links document.title document.url Opis określa kolor odsyłaczy określa kolor tła określa kolor tekstu zawiera datę i czas ostatniej modyfikacji dokumentu zawiera bieżący adres URL dokumentu zawiera zawartość znacznika <TITLE> zawiera element(obiekt) body zawiera kolekcję wszystkich hiperłączy w dokumencie kolekcja (TABLICA - zawiera właściwość length- liczba elementów kolekcji) zawiera tytuł dokumentu zawiera pełny URL dokumentu

Metody document.write() document.writeln() dostęp do elementów document.getelementbyid("id") document.getelementsbytagname("znacznik") kolekcja document.getelementsbyname("nazwa") kolekcja tworzenie nowego elementu document.createtextnode("tekst") document.ceateelement("znacznik")

<HTML><HEAD> </HEAD> <BODY style="font-size:18px"> <P>Przykłady wykorzystania obiektu document</p> <P> Akapit na stronie</p> <A href="http://www.youtube.com">youtube</a> <A href="http://www.facebook.com">facebook</a> <PRE> <SCRIPT language="javascript"> //ustalanie właściwości dokumentu document.bgcolor="yellow"; document.linkcolor="red"; document.fgcolor="green"; //wyświetlanie właściwości document.writeln("data utworzenia:",document.lastmodified); document.writeln("url:",document.url); document.writeln("location:",document.location); document.writeln("tytuł:",document.title); //elementy kolekcji w pętli for(k=0;k<document.links.length;k++) document.writeln("link ",k,":",document.links[k]);//jak tablica (indeks) </SCRIPT> </PRE></BODY></HTML> js1

Wykorzystanie własnej funkcji do ustawienia właściwości <HTML><HEAD> <TITLE> Przykłady wykorzystania obiektu document</title> <SCRIPT language="javascript"> function czerw() {document.bgcolor="red";} function zielo() {document.bgcolor="green";} </SCRIPT> </HEAD> <BODY style="font-size:18px"> <INPUT type="button" value="czerwone" onclick="czerw()"> <INPUT type="button" value="zielone" onclick="zielo()"> </BODY></HTML> js2

.. albo lepiej <HTML><HEAD> <TITLE> Przykłady wykorzystania obiektu document</title> <SCRIPT language="javascript"> function setkolor(k) { } </SCRIPT> </HEAD> document.bgcolor=k; <BODY style="font-size:18px"> <INPUT type="button" value="czerwone" onclick="setkolor('red')"> <INPUT type="button" value="zielone" onclick="setkolor('green')"> </BODY></HTML> js3

Dostęp do elementów strony Tworzenie referencji do istniejącego elementu (obiektu) zmiennej reprezentującej element na stronie - najwygodniej wykonać instrukcją: var element = document.getelementbyid("identyfikator"); pobierz element dokumentu o pewnym id albo var element = document.getelementsbytagname("znacznikhtml"); pobierz wszystkie elementy dokumentu o pewnym znaczniku HTML to będzie kolekcja - TABLICA

Ważniejsze właściwości tak pobranego elementu: node= węzeł element.childnodes kolekcja węzłówdla elementu - zawiera atrybut length(liczba elementów kolekcji), każdywęzeł ma nodename, nodetypei jeśli tekstowy nodevalue element.style dostęp do ustawiania atrybutu style elementu element.attributes kolekcjaatrybutów elementu -mają one właściwości: length liczba atrybutów [nr].name nazwa [nr].value wartość atrybutu element.innerhtml wartość węzła tekstowego

Przykład1 mamy tak zagnieżdżające się znaczniki <DIV id="d1" style="border:1px solid red; width:70%"> 11111111 <DIV class="z"> AAAAAAAAAAAAA </DIV> 222222222222 <DIV class="z"> BBBBBBBBBBBBB </DIV> 3333333333333 </DIV> 5 węzłów js4b

<SCRIPT language="javascript"> var x=document.getelementbyid("d1") //pobierz element document.write("div ma "+x.childnodes.length+" węzłów<br>") document.write("czyli: 1text 2DIV 3text 4DIV 5text<BR>") document.write("div childnodes[0] :",x.childnodes[0],"<br>") document.write("div childnodes[1] :",x.childnodes[1],"<br>") document.write("div childnodes[2] :",x.childnodes[2],"<br>") document.write("div childnodes[3] :",x.childnodes[3],"<br>") document.write("div childnodes[4] :",x.childnodes[4],"<br>") document.write("węzeł 0:<BR>") document.write("div childnodes[0].nodename :",x.childnodes[0].nodename, "<BR>") document.write("div childnodes[0].nodetype :",x.childnodes[0].nodetype, "<BR>") document.write("div childnodes[0].nodevalue :",x.childnodes[0].nodevalue, "<BR>") document.write("i inne...:<br>") document.write("węzeł 1:<BR>") document.write("div childnodes[1].nodetype :",x.childnodes[1].nodetype,"<br>") document.write("div childnodes[1].nodename :",x.childnodes[1].nodename,"<br>")

document.write("węzeł 2:<BR>") document.write("div childnodes[2].nodetype :",x.childnodes[2].nodetype,"<br>") document.write("div childnodes[2].nodename :",x.childnodes[2].nodename,"<br>") document.write("div childnodes[2].nodevalue :",x.childnodes[2].nodevalue,"<br>") document.write("węzeł 3:<BR>") document.write("div childnodes[3].nodetype :",x.childnodes[3].nodetype,"<br>") document.write("div childnodes[3].nodename :",x.childnodes[3].nodename,"<br>") document.write("węzeł 4:<BR>") document.write("div childnodes[4].nodetype :",x.childnodes[4].nodetype,"<br>") document.write("div childnodes[4].nodename :",x.childnodes[4].nodename,"<br>") document.write("div childnodes[4].nodevalue :",x.childnodes[0].nodevalue,"<br>")

document.write("można też tak:<br>") document.write("div childnodes.item(0) :",x.childnodes.item(0),"<br>") document.write("div childnodes.item(1) :",x.childnodes.item(1),"<br>") document.write("div childnodes.item(2) :",x.childnodes.item(2),"<br>") document.write("div childnodes.item(3) :",x.childnodes.item(3),"<br>") document.write("div childnodes.item(4) :",x.childnodes.item(4),"<br>") document.write("div childnodes[0]: ",x.childnodes[0],"<br>") document.write("div childnodes[1]: ",x.childnodes[1],"<br>") document.write("div childnodes[2]: ",x.childnodes[2],"<br>") document.write("div childnodes[3]: ",x.childnodes[3],"<br>") document.write("div childnodes[4]: ",x.childnodes[4],"<br>") pierwszy potomek document.write("div firstchild: ",x.firstchild,"<br>") document.write("div firstchild.nextsibling: ",x.firstchild.nextsibling,"<br>") document.write("atrybut 0 naszego DIV ma nazwę: ", x.attributes[0].name) </SCRIPT></BODY></HTML> następny brat (rodzeństwo)

lub pętla <DIV id="d1" style="border:1px solid red;width:70%"> 11111111 <DIV class="z"> AAAAAAAAAAAAA </DIV> 222222222222 <DIV class="z"> BBBBBBBBBBBBB </DIV> 3333333333333 </DIV> <SCRIPT language="javascript"> var x=document.getelementbyid("d1") //pobierz element document.write("div ma "+x.childnodes.length+" węzłów<br>") document.write("czyli: 1text 2DIV 3text 4DIV 5text<BR>") for (n=0;n<=4;n++) document.write("div childnodes[",n,"] :",x.childnodes[n],"<br>") </SCRIPT> js4c

Atrybut style jest również obiektem, poniżej ważniejsze właściwości: Właściwość backgroundcolor border borderstyle bordercolor borderbottom borderbottomcolor borderbottomstyle borderbottomwidth borderleft bordertop borderright margin marginbottom marginleft marginright margintop color fontfamily fontsize fontstyle fontweight textalign Opis ustalenie lub pobranie koloru tła elementu ustawienie(np."1px solid red") lub pobranie cech obramowania ustawienie(np."solid") lub pobranie stylu obramowania ustawienie(np."red") lub pobranie koloru obramowania dolna krawędź obramowania j.w. dolna krawędź obramowania kolor dolna krawędź obramowania kolor dolna krawędź obramowania kolor podobnie j.w. marginesnp. "12px20mm2cm20px" góraprawydolnylewy j.w. ustawienie(np."14px solid red") lub pobranie koloru czcionki ustawienie(np."arial") lub pobranie rodziny czcionki ustawienie(np."15px") lub pobranie rozmiaru czcionki ustawienie(np."italic") lub pobranie stylu czcionki ustawienie(np."bold") lub pobranie grubości czcionki ustawienie(np."center") lub pobranie wyrównania tekstu

Zmiana stylu znacznika <HTML><HEAD> <TITLE> Przykłady obiektowe</title></head> <BODY style="font-size:18px"> <TABLE style="border:1px solid red;font-size:25px"> <TR><TD>a1</TD> <TD>a2</TD><TD>a3</TD></TR> <TR><TD>b1</TD> <TD>b2</TD><TD>b3</TD></TR> </TABLE> <SCRIPT language="javascript"> x=document.getelementsbytagname("td") //pobierz elementy wg znacznika! x[0].style.border="6px solid red" x[1].style.backgroundcolor="blue" </SCRIPT> </BODY></HTML> js5a

Interakcyjna zmiana stylu znacznika <HTML><HEAD> <TITLE> Przykłady obiektowe</title> <SCRIPT language="javascript"> function setramka(n, kolor){ var x=document.getelementsbytagname("td") //pobierz elementy TD! x[n].style.border="3px solid "+kolor } </SCRIPT> uwaga na spację po solid </HEAD> <BODY style="font-size:18px"> <TABLE style="border:1px solid red"> <TR><TD>a1</TD> <TD>a2</TD><TD>a3</TD></TR> <TR><TD>b1</TD> <TD>b2</TD><TD>b3</TD></TR> </TABLE> Wpisz numer od 1 do 6<INPUT type="text" name="pole"> <INPUT type="button" value="ustaw kolor" onclick="setramka(pole.value-1, 'red')"> </BODY></HTML> js5

Proste sterowanie położeniem przez styl margin <HTML><HEAD> <TITLE> Przykłady obiektowe</title> <SCRIPT language="javascript"> function setmargin(m){ var x=document.getelementsbytagname("div") //pobierz elementy wg znacznika!!!! x[0].style.marginleft=m+"px" } </SCRIPT> </HEAD> <BODY style="font-size:18px"> <DIV style="border:1px solid red; width:100px;height:100px; marginleft:200px;border:3px solid red"> </DIV> <INPUT type="button" value="prawo" onclick="setmargin(300)"> <INPUT type="button" value="lewo" onclick="setmargin(100)"> </BODY></HTML> js6

Sterowanie na płaszczyźnie <HTML><HEAD> <TITLE> Przykłady obiektowe</title> <STYLE type="text/css"> div.x{border:1px solid red; width:100px;height:100px;background-color:red; marginleft:0px;} div.z{ border:1px solid red; width:300px;height:300px;border:1px solid green; marginleft:200px;} </STYLE> <SCRIPT language="javascript"> function setmargin(m){ } var x=document.getelementbyid("d1") //pobierz element o id=d1 x.style.marginleft=m+"px" function setmargin2(m){ } var x=document.getelementbyid("d1") //pobierz element o id=d1 x.style.margintop=m+"px" </SCRIPT> </HEAD> cd.. js7

<BODY style="font-size:18px"> <INPUT type="button" value="prawo" onclick="setmargin(200)"> <INPUT type="button" value="lewo" onclick="setmargin(0)"> <INPUT type="button" value="dół" onclick="setmargin2(200)"> <INPUT type="button" value="góra" onclick="setmargin2(0)"> <DIV class="z"> <DIV id="d1" class="x"> </DIV> </DIV> </BODY></HTML>

Przydatne metody dla zmian struktury obiektów document.createelement(typ) utworzenie elementu o typie znacznika element.appendchild(element_dołączany) dołączanie elementu do innego elementu (na końcu) element.clonenode(true) powielenie elementu element.removechild(element_dziecko); usunięcie elementu podrzędnego element.replacechild(el_nowy,el_stary); podmiana elementu podrzędnego append = dołącz create = utwórz clone = klonuj, kopiuj remove = usuń replace= zamień

Tworzenie nowego elementu na końcu strony <HTML> <HEAD> </HEAD> <BODY style="font-size:18px"> <!-- Istniejący DIV --> <DIV id="div1">mechatronika </DIV> <SCRIPT language="javascript"> //dostęp do elementu d1 = document.getelementbyid("div1"); //ustawianie parametrów stylu istniejącego DIV d1.style.color="red"; d1.style.fontsize="28px"; d1.style.border="4px solid blue"; d1.style.color="yellow"; d1.style.width="600px"; d1.style.marginleft="200px"; d1.style.background="green"; d1.style.textalign="center"; js8

//tworzenie elementu - tworzymy drugi DIV d2=document.createelement("div"); //ustalamy style dla nowego DIV'a d2.style.border="4px solid red"; d2.style.margin="0px 100px 0px 100px"; d2.style.textalign="center"; d2.style.fontsize="32px"; //tworzymy węzeł tekstowy var t2=document.createtextnode("drugi DIV"); //dołaczamy węzeł tekstowy do div'a d2.appendchild(t2); //dołączamy DIV na końcu strony dołączenie do BODY document.body.appendchild(d2); </SCRIPT> </BODY></HTML>

Tworzenie elementu potomnego do istniejącego elementu.uzupełnić poprzedni kod o funkcję functionf2( ) { //tworzymy akapit P p1=document.createelement("p"); p1.style.background="pink"; p1.style.marginleft="40px"; p1.style.marginright="40px"; // i tworzymy jego węzeł tekstowy var tp1=document.createtextnode("akapit potomny do DIV dziedziczy "); //trzeba dołączyć węzeł tekstowy do akapitu p1.appendchild(tp1); // i dołączyć akapit do div1 d1.appendchild(p1); } robot js9

Tworzenie własnych obiektów Słowo kluczowe this W JavaScriptmożna tworzyć własne obiekty. Wykorzystuje się tu zapis utworzonej funkcji o nazwie takiej samej jak klasa, dla której definiujemy właściwości(zmienne proste lub obiektowe) i metody(funkcje wewnętrzne). Nadając i wykorzystując identyfikatory właściwości i metod korzystamy ze słowa kluczowego this.rozumiane jest ono jako obiekt bieżący, właściciel metody lub właściwości. Poniżej prosty przykład:

Przykład <HTML> <HEAD> </HEAD> <BODY style="font-size:18px"> <P> AKAPIT</P> <PRE> <SCRIPT language="javascript"> function kolor1( ){ this.document.bgcolor = "red"; } function kolor2(e) { e.style.color = "yellow"; } </SCRIPT> </PRE> <INPUT type="button" value="kolor dla tła okna" onclick="kolor1( )"> <INPUT type="button" value="kolordla napisu na przycisku" onclick="kolor2(this)"> </BODY> </HTML>

W powyższym przykładzie mamy dwie własne funkcje. W pierwszej o nazwie kolor1 ustalamy kolor tła dla bieżącego obiektu (this) - którym jest domyślnie window. Druga funkcja o nazwie kolor2 zmienia kolor czcionki Druga funkcja o nazwie kolor2 zmienia kolor czcionki przekazanego do funkcji obiektu e - wywoływana jest kliknięciem w przycisk z przekazaniem odniesienia do tego właśnie przycisku (this), a więc zmienia się kolor napisu na przycisku.

Przykład definicji obiektu i instancji Można utworzyć definicję tzw. konstruktor obiektu wykorzystując własną funkcję: functionnazwa(argument1,argument2 ) { this. właściwość1 = argument1; this. właściwość2 = argument2; //itd. } Teraz tworzymy egzemplarze (instancje) obiektu Pies i przypisujemy do zmiennych referencji p1 i p2: var p1 = new Nazwa( argumenty aktualne); var p2 = new Nazwa( inne argumenty aktualne);

Przykład <PRE> <SCRIPT language="javascript"> //funkcja konstruktor function Pies(imie, rasa, kolor, plec) { this. imie= imie; this. rasa = rasa; this. kolor = kolor; this. plec= plec; this.glos ="HAUUUU"; //dla wszystkich psów ten sam this.dajglos = function() { document.writeln(this.glos); }; }; //tworzymy instancje var piesek1 = new Pies( "Misia", "Labrador", "czekoladowa", "suka" ); varpiesek2 = newpies( "Misiek", "Seter", "rudy", "pies" ); //możemy mieć dostęp do właściwości i metod document.writeln(piesek1.imie); // -> false piesek1.dajglos();// ->"HAUUUU" //itd. </SCRIPT> </PRE> właściwości metoda

Sposób 2 <PRE> <SCRIPT language="javascript"> //funkcja konstruktor Pies2 = function(imie, rasa, kolor, plec) { //definiowanie obiektu tu uwaga na interpunkcje! varobiektpies= { imie: imie, rasa: rasa, kolor: kolor, plec: plec, glos:"hauuu", dajglos: function () { document.writeln(this.glos); } }; //funkcja zwraca zdefiniowany obiekt return obiektpies; }; //tworzenie instancji klasy var piesek3 = new Pies2( "Milka", "Spaniel", "czekoladowa", "suka" ); varpiesek4 = newpies2( "Reksio", "Dog", "czarny", "pies" ); //możemy mieć dostęp do właściwości i metod document.writeln(piesek1.imie); piesek1.dajglos(); //itd. </SCRIPT> </PRE>

W obu sposobach mamy ogólne definicje konstruktorów obiektu. Potem możemy tworzyć wiele egzemplarzy różniących się wartościami właściwości i wykonywać metody (akcje).

var piesek1 = { }; Mniej uniwersalny sposób - tworzenie konkretnej instancji (egzemplarza) bez definicji: imie: "Maja", rasa: "kundel", kolor: "zółty", plec: "suczka", glos:"haaaauuuu", dajglos: function () { document.writeln(this.glos); } document.writeln(piesek1.imie); piesek1.dajglos ();

Ograniczenia dostępu do pól <PRE> <SCRIPT language=" JavaScript "> JakisObiekt= function (n1,n2) { }; w_pryw= n1; //właściwość prywatna this.w_pub=n2; //właściwość publiczna this.podajnazwe1 = function () {return w_pryw; }; this.podajnazwe2 = function () {return this.w_pub; }; t = new JakisObiekt("prywatna","publiczna"); document.writeln("met1:",t.podajnazwe1());//tylko metoda podaje właściwość prywatną document.writeln("met2:",t.podajnazwe2());//metoda podaje też właściwość publiczną document.writeln("w_pryw:",t.w_pryw);//nie ma dostępu do prywatnej - undefined document.writeln("w_pub:",t.w_pub);// jest dostęp do właściwości publicznej </SCRIPT> </PRE>