-
Data: 2015-09-20 11:57:51
Temat: Javascript - jak tworzyć obiekty w strict mode?
Od: Marek <p...@s...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witam,
Mam problem w realizacji prywatnych funkcji w strict mode. Oto kod:
"use strict";
function test()
{
var x=5;
var test3=function()
{
console.log(this,x);
};
var test2=function()
{
console.log(this,x);
test3();
};
test2();
test2.call(this);
}
costam=new test();
Operator this nie jest dostępny w test2 przy wywołaniu test2() ale jest
dostępny przy wywołaniu test2.call(this). Wartość X zawsze jest
poprawnie widziana więc test2 w obu przypadkach działa w obrębie obiektu
test.
Jeśli wywołamy test2 bez "call" to z poziomu test2 nie będziemy w stanie
wywołać metody test3 tak aby był widoczny w niej operator this.
W/g tego przykładu, strict mode może zatem prowadzić do usterek, które
nie ujawnią się podczas walidacji kodu poprzez JSHint jak i działanie
funkcji zależy od sposobu jej wywołania. Aż prosi się o "tajemnicze"
błędy które programiście nie ujawnią się a użytkownikowi tak, bo wykonał
np. nieco odmienną akcję niż testerzy i ta sama funkcja raz zadziałała,
raz nie. Wydaje mi się iż musi istnieć jakaś inna składnia wywołań metod
prywatnych aby uniknąć takich problemów. Macie pomysły?
--
Pozdrawiam,
Marek
Następne wpisy z tego wątku
- 20.09.15 18:05 Borys Pogoreło
- 20.09.15 18:27 Marek
- 20.09.15 18:48 Marek
- 20.09.15 21:53 Borys Pogoreło
- 20.09.15 21:55 Borys Pogoreło
- 21.09.15 11:43 Marek
- 21.09.15 13:36 Marek
- 27.09.15 18:46 Borys Pogoreło
- 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
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