var user = {
name: 'John Smith',
getName: function() {
var self = this;
console.log(this.name);
console.log(self.name);
(function(){
console.log(this.name);
console.log(self.name);
}());
}
};
user.getName();
console.log(this.name)
выдает ошибку Uncaught TypeError: Cannot read properties of undefined (reading 'name')
не могу понять почему. Объясните пожалуйста this
для функции, объявленной как function
определяется в момент её вызова. Если её вызывают будто она свойство объекта, этот объект будет this'ом.this === window
.window
это не user
. И там нет искомого свойства, скорее всего. Или есть, но неожиданно другое.