Помогите разобраться с this. Подскажите, где неправильно думаю.
Вот есть
пример в учебнике, тема "Прототипное наследование".
var animal = {
eat: function() {
alert( "Я наелся" );
this.full = true;
}
};
var rabbit = {
jump: function() { /* ... */ }
}
rabbit.__proto__ = animal
rabbit.eat() // выводит "Я наелся"
alert(rabbit.full) // выводит true
Интересует, как он может видеть true, когда обращаешься rabbit.full? Почему к свойству full так можно обратиться, если оно находится в функции и по идее оно в замыкании. Его не должно быть видно. Я понимаю, если бы было так:
var animal = {
full: false, // вот так оно находится в локальной области объекта
eat: function() {
alert( "Я наелся" );
this.full = true; // и после срабатывания ф-ции оно бы становилось true там, выше в объекте;
}
};
А почему к нему есть доступ в первом случае, не понимаю.