-
Data: 2015-09-21 13:43:50
Temat: JavaScript - jak działają prototypy?
Od: Marek <p...@s...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witam,
Czytałem w wielu miejscach teorie na ten temat lecz nigdzie temat nie
był potraktowany na tyle wyczerpująco abym mógł to pojąć. Nawet po
dłuższym czasie posługiwania się nimi na zasadzie "zrób tak, bo ktoś tak
zrobił" odkrywam powalające mnie na kolana, niezrozumiałe właściwości.
Proszę znawcę tematu o wyjaśnienie mi zasadę ich działania "jak chłop
krowie".
Oto przypadek, który ostatnio mnie "zastrzelił".
testClass(_data)
{
var data=_data;
testClass.prototype.read=function()
{
console.log("read",data);
};
}
aaa=new testClass(10);
aaa.read();
bbb=new testClass(20);
aaa.read();
daje wynik
10
20
Zamiast spodziewanego 10, 10. Czyli wynika z tego, ze data nie jest
zmienną lokalną dla instancji obiektu lecz jest współdzielona miedzy
nimi. A teraz uwaga! Zmieniam kod w innym miejscu niż obszar zmiennej:
testClass(_data)
{
var data=_data;
this.read=function()
{
console.log("read",data);
};
}
... i otrzymuję wynik:
10
10
WTF? O co tu chodzi?
--
Pozdrawiam,
Marek
Najnowsze wątki z tej grupy
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Do sądu trafił pozew zbiorowy przeciw Google'owi - oskarżenie o praktyki monopolistyczne na rynku reklamy internetowej
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
Najnowsze wątki
- 2025-07-31 Wybory
- 2025-07-31 Czy negowanie usańskiego lądowania na księżycu jest karalne?
- 2025-07-31 Zabójcze zwycięstwo policji nad maczetownikiem [Sosnowiec]
- 2025-07-30 Taka ciekawostka pożarowa :)
- 2025-07-30 Danina dla artystów, tworców i producentów od zakupu sprzętu elektronicznego.
- 2025-07-30 Białystok => Software Engineer .Net <=
- 2025-07-30 Gdańsk => Programista Delphi <=
- 2025-07-30 Kolejni bezrobotni inżynierowie na zasiłkach...
- 2025-07-30 Rzeszów => International Freight Forwarder <=
- 2025-07-30 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-07-30 MILLER ZAORAŁ PRO-UKRAIŃSKIEGO REDAKTORA
- 2025-07-29 "cywilny przemysł stoczniowy w USA praktycznie nie istnieje"
- 2025-07-29 Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- 2025-07-29 Re: PLL LOT na pokładzie zemdlało kilku pasażerów, a linie lotnicze nie zapewniły nawet podstawowego wsparcia - choćby szklanki wody.
- 2025-07-29 Re: Podkreślają też wielką szkodliwość zdrowotną wiatraków, które usytuowane bardzo blisko siedlisk ludzkich mają negatywny wpływ na zdrowie ludzkie".