-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.promontel.net.pl!not-fo
r-mail
From: Borys Pogoreło <b...@p...edu.leszno>
Newsgroups: pl.comp.www
Subject: Re: Javascript - jak tworzyć obiekty w strict mode?
Date: Sun, 27 Sep 2015 18:46:03 +0200
Organization: snafu
Lines: 30
Message-ID: <swhpswvjkkrk.1kg2bqubgir7v$.dlg@40tude.net>
References: <mtlvuv$3t4$1@news.icm.edu.pl>
<1fatjmn7yhrh6$.12pek7r1crfbe$.dlg@40tude.net>
<mtmo0d$75a$1@news.icm.edu.pl>
<1...@4...net>
<mtojfs$lci$1@news.icm.edu.pl>
NNTP-Posting-Host: agne47.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Trace: thunar.promontel.net.pl 1443372363 15873 217.99.210.47 (27 Sep 2015 16:46:03
GMT)
X-Complaints-To: a...@p...net.pl
NNTP-Posting-Date: Sun, 27 Sep 2015 16:46:03 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.14.1pl
X-fnord: obey.
Xref: news-archive.icm.edu.pl pl.comp.www:403031
[ ukryj nagłówki ]Dnia Mon, 21 Sep 2015 11:43:23 +0200, Marek napisał(a):
> W dniu 2015-09-20 o 21:55, Borys Pogoreło pisze:
>
>> Nic się nie staje globalne. Modyfikujesz prototyp, ale wywołanie i tak
>> operuje na instancji obiektu, która ma zmienną lokalną.
>
> Czy nie zauważyłeś, że instancja bbb zmodyfikowała zmienną data w
> instancji aaa? Zmienna data nie jest w tym przypadku lokalną bo
> przyjmuje wartość wspólną dla wszystkich instancji - zachowuje się
> globalnie.
Tak, teraz widzę. Ale ogólnie to strasznie naciągnąłeś możliwości języka i
nic dziwnego, że Ci cuda wychodzą :) Na pewno przez takie zdefiniowanie
prototypu powodujesz, że jego zakres widoczności sięga do granic funkcji i
przez to zmienna "data" jest widoczna, co nie znaczy że powinieneś do niej
sięgać. Z kolei modyfikacja prototypu jest współdzielona między obiektami
(choć tu jest parę zastrzeżeń).
Teraz zgaduję - zapewne w prototypie ustawiana jest referencja na zmienną
data, przez co jej wartość jest nadpisana w drugim wywołaniu testClass()
(tu by się jednak przydała opinia kogoś, kto na JS zjadł sobie zęby).
Zamiast takich kombinacji możesz zrobić getter getData() w obiekcie
testClass lub po prostu zapisuj od razu do własności obiektu, czyli
this.data = _data. Gdybyś wyrzucił definiowanie prototypu poza funkcję, to
w ogóle by nie doszło do takiej sytuacji.
--
Borys Pogoreło
borys(#)leszno,edu,pl
Następne wpisy z tego wątku
- 28.09.15 09:02 n...@t...net.pl
- 28.09.15 15:37 Marek
- 28.09.15 15:46 Marek
- 28.09.15 18:22 Borys Pogoreło
- 28.09.15 20:42 Cezary Tomczyk
- 28.09.15 22:00 Borys Pogoreło
- 29.09.15 10:17 n...@t...net.pl
- 01.10.15 19:27 Marek
- 02.10.15 09:31 n...@t...net.pl
- 02.10.15 12:02 Marek
- 03.10.15 08:33 n...@t...net.pl
- 03.10.15 11:18 Cezary Tomczyk
- 03.10.15 12:17 Marek
- 03.10.15 12:20 Marek
- 05.10.15 09:33 n...@t...net.pl
Najnowsze wątki z tej grupy
- 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>
- Czy istnieje jakiś emulator przeglądarek pod Mac'a?
- taka sama konfiguracja dla localhost i produkcji
Najnowsze wątki
- 2024-12-11 SEP 1 kV E
- 2024-12-11 DNS restrictions are on
- 2024-12-11 wielkie bu
- 2024-12-11 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-11 Aku LiPo źródło dostaw - ktoś poleci ?
- 2024-12-11 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-11 Wrocław => Application Security Engineer <=
- 2024-12-11 Warszawa => Analyst in the Trade Development department (experience wi
- 2024-12-11 Lublin => Programista Delphi <=
- 2024-12-11 Motodziennik #305 Nowy ELEKTRYK za 350 złotych miesięcznie? Kreatywne kredytowanie problemów
- 2024-12-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-11 Katowice => Key Account Manager (ERP) <=
- 2024-12-11 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-11 Idzie zima...czyli zaczynamy TETRIS :)
- 2024-12-11 Warszawa => Analityk w dziale Trade Development (doświadczenie z Powe