Вот код
function Person(name, age, weight) {
this._name = name;
this._weight = weight;
this._age = age;
}
Person.prototype = {
Anatomy: {
Weight: this._weight,
Height: (function () {
//calculate height from age and weight
})
}
}
Я ожидал, что Anatomy.weight
будет 60, когда я запустил этот код:
var x = new Person('jack',24,60);
console.dir(x.Anatomy);
К моему удивлению, это было не определено. При проверке показалось, что this
имеет в виду окно глобального объекта. Теперь, что здесь произошло :(
Я ожидал, что this._weight
будет ссылаться на вес объектов Person, в противном случае, по грубым расчетам, это должно как минимум указывать на Анатомию, поскольку это объект. Может ли кто-то прояснить сомнение