-
Data: 2015-09-28 09:02:36
Temat: Re: Javascript - jak tworzyć obiekty w strict mode?
Od: n...@t...net.pl szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu poniedziałek, 21 września 2015 11:43:25 UTC+2 użytkownik Marek napisał:
> 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.
>
> Nie rozumiem zatem dlaczego jedna instancja widzi wartości zmiennych
> (prywatnych) drugiej instancji? Jak zatem spowodować aby poszczególne
> instancje nie zakłócały siebie nawzajem?
>
> Metodą prób i błędów odkryłem, że drobna modyfikacja deklaracji funkcji:
>
> function testClass(_data)
> {
> var data=_data;
>
> this.read=function()
> {
> console.log("read",data);
> };
> }
>
> aaa=new testClass(10);
> aaa.read();
> bbb=new testClass(20);
> aaa.read();
>
> powoduje, że teraz odczyt będzie zupełnie inny:
> 10
> 10
>
> Czyli instancja bbb nie zmodyfikowała zmiennej data w instancji aaa.
> Dlaczego? Zmienna jest identycznie przecież zadeklarowana. Dlaczego
> sposób zadeklarowania funkcji czytającej wpływa na zakres widoczności
> zmiennej?
>
>
> --
> Pozdrawiam,
> Marek
Według spisu instrukcji piszą, że "prototype" daje możliwość
zewnętrznego (zwracam uwagę na - zewnętrznego), a ja dodam sztucznego,
dodawania właściwości do istniejącego bytu (funkcja/klasa).
U ciebie jest to wewnątrz czyli nie za bardzo dobrze.
Skoro zewnętrznego to ta zmienna/właściwość jest/musi być już publiczna.
Ale rzeczywiście niech wypowie się ktoś bardziej wtajemniczony.
Andrzej.
Następne wpisy z tego wątku
- 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
- 06.10.15 17:39 Marek
Najnowsze wątki z tej grupy
- 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
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
Najnowsze wątki
- 2025-09-08 Warszawa => Programista C <=
- 2025-09-08 Warszawa => Software .Net Developer <=
- 2025-09-08 Polacy zbiednieli
- 2025-09-08 UK: Transparent "Sprzeciwiam się ludobójstwu. Popieram Palestine Action" => 890 "terrorystów" zatrzymanych
- 2025-09-08 Dlaczego nam nie idzie
- 2025-09-08 Co czujnik to inna temperatura
- 2025-09-07 alert mnie zbudził
- 2025-09-07 NOWE PRAWO NADCHODZI. KASKI I KARY DLA MŁODYCH KIEROWCÓW. DROGOWE ZERO
- 2025-09-07 Jak naprawić pilota
- 2025-09-07 Kiedyś to było. Muszę go mieć ;-)
- 2025-09-06 Efekt "chińczyków"? Szok! Mazda, VW i inni zaczynają obniżać ceny!
- 2025-09-06 gotówka wraca do łask
- 2025-09-06 SIM-eSIM
- 2025-09-06 Play: alternatywy do USSD dla skryptowego sprawdzania stanu konta na laptopie (linux)
- 2025-09-05 UWAGA: MAM PODEJRZENIE, ŻE trojmiasto.pl DOKONUJE ATAKÓW