-
Data: 2015-10-02 12:02:17
Temat: Re: Javascript - jak tworzyć obiekty w strict mode?
Od: Marek <p...@s...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2015-10-02 o 09:31, n...@t...net.pl pisze:
> Ta twoja klasa to wcale nie klasa tylko funkcja, która ma udawać
> klasę. W JS nie ma klas.
Dlatego na początku ujmowałem słowo "klasa" w cudzysłów. Odpuściłem
sobie tych dwóch znaków i widzę, że mimo to powstało zamieszanie :-)
> Zaś to "prototype" jest dla nas trochę abstrakcyjne i ja będąc Polakiem
> zamienił bym na "addnewvar" czyli dodaj nową zmienną
Gdyby to takie proste było to bym nie pytał. Dodanie nowej "metody"
(wznawiam używanie cudzysłowu") do klasy za pomocą prototype i
bezpośrednio powoduje, że mimo tego samego kodu jedna będzie działać a
inna nie. Oto przykład:
function SuperClass()
{
var a=5;
this.showVar=function()
{
console.log(a);
}
SuperClass.prototype.showVar2=function()
{
console.log(a);
}
}
SuperClass.prototype.showVar3=function()
{
console.log(a);
}
var sc=new SuperClass();
sc.showVar(); //5
sc.showVar2(); //5 - ale przypisanie wartości do a ustawia ją we
wszystkich instancjach
sc.showVar3(); //error
> Jestem programistą indywidualistą i unikam skomplikowanych
> figur programistycznych bo nie są mi do niczego potrzebne,
> to przecież tylko JS, który wykorzystuję wyłącznie do obsługi stron www,
> dlatego cały czas pytam co chcesz uzyskać, bo na razie nie podałeś
> konkretnego przykładu tylko błądzisz we mgle.
Konkretny przykład jest bardzo złożony więc uznałem, że nie ma sensu
tego przytaczać. Wyjaśnię, że chodzi o interaktywną współpracę SVG ze
stroną WWW (edytor grafiki na stronie WWW). Kod liczy sobie setki linii,
wykorzystywany jest Ajax, współpraca z bazą danych oraz customizowane
zdarzenia do komunikowania się warstw aplikacji między sobą - coś na
wzór programowania dla Windows. Gdybym to przytoczył to zapewne ani
jednej odpowiedzi bym nie uzyskał.
Wyłuskałem konkretny problem z jakim się spotkałem (variable scope a w
nim m.in. dziwny "typ zmiennych" współdzielonych między instancjami, nie
opisany w dokumentacji JS) i nie uważam, że jest on błądzeniem we mgle.
--
Pozdrawiam,
Marek
Następne wpisy z tego wątku
- 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
- 08.10.15 11:03 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-12 Ostrów Wielkopolski => Trener zespołu sprzedaży Call Center <=
- 2024-12-12 Kraków => Key Account Manager <=
- 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) <=