-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Marek <p...@s...com>
Newsgroups: pl.comp.www
Subject: JavaScript - jak działają prototypy?
Date: Mon, 21 Sep 2015 13:43:50 +0200
Organization: ICM, Uniwersytet Warszawski
Lines: 54
Message-ID: <mtoqho$73l$1@news.icm.edu.pl>
NNTP-Posting-Host: 89-69-222-145.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.icm.edu.pl 1442835832 7285 89.69.222.145 (21 Sep 2015 11:43:52 GMT)
X-Complaints-To: u...@n...icm.edu.pl
NNTP-Posting-Date: Mon, 21 Sep 2015 11:43:52 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101
Thunderbird/31.6.0
Xref: news-archive.icm.edu.pl pl.comp.www:403027
[ ukryj 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
- UWAGA: MAM PODEJRZENIE, ŻE onet.pl DOKONUJE ATAKÓW!!!
- Komisja sejmowa odrzuca petycję ws. obowiązkowych kanałów RSS na stronach podmiotów publicznych
- kol. sukces po polsku: "Samurai Labs. Technologia do zapobiegania samobójstwom"
- Wściekli obywatele spalili budynek parlamentu Nepalu [bo odcięli im amerykańskie serwery społecznościowe - przyp. JMJ]
- UWAGA: MAM PODEJRZENIE, ŻE trojmiasto.pl DOKONUJE ATAKÓW
- Cenzura na wolnemedia.net - likwidacja codziennej sekcji "Sygnały zauważone"
- Nowe style na energokod.pl
- Jak działa hosting w którym wykupuje się sam serwer i domenę, bez IP?
- 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
Najnowsze wątki
- 2025-09-17 Kod zniżkowy w TME do 26.09.2025
- 2025-09-17 Ukraińcy uważają polski sys. antydronowy za najlepszy na Świecie, a rząd w III Rzeczy (pospolitej) woli sys. niemiecki
- 2025-09-17 Ukraińcy uważają polski sys. antydronowy za najlepszy na Świecie, a rząd w III Rzeczy (pospolitej) woli sys. niemiecki
- 2025-09-17 Warszawa => Dyrektor pionu IT <=
- 2025-09-17 Rzeszów => International Freight Forwarder <=
- 2025-09-16 China => Production Coordinator / Representant Product Dev <=
- 2025-09-16 Warszawa => Project Manager (AI and innovation) <=
- 2025-09-15 "Jeden telefon z Waszyngtonu i nasze samoloty nie wystartują" - czyli to co każdy koder wie
- 2025-09-15 UE chce uruchomić SI "Chat Control" na kompach wszystkich euroPejczyków
- 2025-09-15 Sejm odrzucił zakaz idelogii banderyzmu
- 2025-09-15 Nieprawidłowe parkowanie
- 2025-09-15 Poznań => Konsultant SAP HCM <=
- 2025-09-15 Warszawa => Specjalista rekrutacji IT <=
- 2025-09-15 Warszawa => International Freight Forwarder <=
- 2025-09-15 Lublin => ERP Implementation Consultant (AP Module) <=