function Person(gender) {
this.gender = gender;
}
Person.prototype.sayGender = function()
{
alert(this.gender);
};
var person1 = new Person('Male');
var genderTeller = person1.sayGender;
person1.sayGender(); // alerts 'Male'
genderTeller(); // alerts undefined
Dlaczego genderTeller(); alerty nieokreślone nie są dla mnie jasne. jeśli to widzę, to uważam, że jest tak samo jak linia powyżej. Można niektóre proszę wyjaśnić szczegółyDlaczego metoda "this" zmienia się podczas wywoływania odwołania do metody obiektu?
Jak "tracimy kontekst osoby 1 obiektu" jest nieco mylące. –
@sushilbharwani: Ponieważ nie nazywasz tego od razu, po prostu przypisujesz odwołanie do funkcji w zmiennej. Tak działa JavaScript. – alex