![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 9.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zacząlem dzisiaj przygode z js i zatrzmalem sie w dosc banalnym miejscu. Z jednego z kursów umieszczonych w necie wzialem ten kod
Kod <html> <head> <script> 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) } 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 } </script> </head> <body><script> posiadacz=new osoba("Jan","Kowalski") bryka=new auto("Ferrari",2003,200000,posiadacz) bryka.pokaz() // pokazuje nam wszystkie wlasciwosci naszego obiektu</script> </body> </html> i przepisalem go robiac malutkie zmiany w ten sposob Kod <html> <head> <script> function pokaz_auto(){ dane="Marka: "+ this.marka +" Rocznik: "+ this.rok document.write(dane) this.wlasciciel.pokaz() } function pokaz_osoba(){ dane="imie: "+ this.imie +" nazwisko "+ this.nazwisko document.write(dane) } function osoba(imie, nazwisko){ this.imie=imie this.nazwisko=nazwisko this.pokaz=pokaz_osoba } function auto(marka,rok){ this.marka=marka this.rok=rok this.pokaz=pokaz_auto } </script> </head> <body> <script> posiadacz=new osoba("Jan","Kowalski") bryka=new auto("Ferrari",2003) bryka.pokaz() </script> </body> </html> Problem polega na tym ze w tym przerobionym nie wyswietla "imie jan nazwisko Kowalski" i nie moge dojsc do tego dlaczego tak sie dzieje. Moglby mi ktos wyjasnic gdzie jest blad? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 326 Pomógł: 121 Dołączył: 23.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie dodajesz do elementu auto elementu posiadacz. Powinienes to zawrzec w konstruktorze, albo wywolac niezaleznie:
Kod posiadacz.pokaz() , przy czym konsekwencja:albo usuwasz z pokaz_auto Kod this.wlasciciel.pokaz() albo przerabiasz auto(marka,rok) na: [code] function auto(marka,rok,wlasciciel){ this.marka=marka this.rok=rok this.pokaz=pokaz_auto this.wlasciciel=wlasciciel } [code] Ten post edytował ddiceman 11.03.2009, 17:32:35 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiście malutkie zmiany. Nie jest zdefiniowany właściciel auta. Konstruujesz obiekt auta, tylko wykasowałeś linię o właścicielu i nie można sprzęgnąć tego auta z właścicielem. Po co to kasowałeś? Konstruktor jest w porządku.
Jak zaczynasz to weź sobie lepiej jakiś kurs, a nie ściągasz z neta marne gotowce i będziesz biegał po forum z pytaniami. ![]() Ten post edytował Hazel 11.03.2009, 17:31:30 -------------------- ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 9.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
dzieki juz zrozumialem na czym polegal moj blad
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 17:52 |