Witam serdecznie,
Jestem nowy na forum dlatego jeszcze raz wszystkich witam. Nie wiem czy dobrze zatytułowałem temat. Chciałbym Was prosić o pomoc w wyjaśnieniu jednej rzeczy. Dla Was na pewno to będzie jakiś banał. Chodzi mi o nazwanie po imieniu tego co tu się dzieje. Ja oczywiście spróbuję sam ale prosił bym o korektę jeżeli coś źle z tego zrozumiałem. Mam sobie taką funkcję:
var a = function() {
this.x = function() {....};
};
var b = new a();
b.x();
I teraz po kolei. Tworzę sobie funkcję bezargumentową i przypisują ją do jakiegoś var-a którego ja nazwałem 'a'. Następnie wewnątrz tej funkcji tworzona jest kolejna funkcja która przypisywana jest do globalnego kontekstu wykonania który nazywam sobie 'x'. Następnie tworzę konstruktor????? i przypisuję do var-a którego nazwałem 'b' i później poprzez ten konstruktor odwołuję się do funkcji wewnętrznej. Wiem że na pewno nie do końca dobrze to zrozumiałem dlatego proszę serdecznie o wytłumaczenie. Tu nie chodzi słuchajcie o to czy to jest dobrze czy źle i że można zrobić to inaczej lecz o to co w tym fragmencie kodu dokładnie się dzieje :). Z góry pięknie dziękuję za pomoc.
Czy może inaczej. Może to ta funkcja główna przypisana do vara 'a' jest konstruktorem bo przecież za jej pomocą wywoływana jest dopiero funkcja wewnętrzna.
this
w javascript to ... skomplikowane. To raczej kontekst wywołania funkcji. Nie musi być (i w powyższym przykładzie nie jest) globalny.