Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Nie wyswietla sie napis
blandzi
post 11.03.2009, 17:26:18
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?
Go to the top of the page
+Quote Post
ddiceman
post 11.03.2009, 17:30:46
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
Go to the top of the page
+Quote Post
Hazel
post 11.03.2009, 17:31:00
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.  dry.gif Nie jest to dobra metoda nauki. Nawet średników nie ma w tym kodzie...

Ten post edytował Hazel 11.03.2009, 17:31:30


--------------------
Go to the top of the page
+Quote Post
blandzi
post 11.03.2009, 17:40:26
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 17:52