在 javascript 中使用它获取未定义的设置对象的属性值

Getting undefined setting object's property value using this in javascript

本文关键字:设置 对象 属性 未定义 获取 javascript      更新时间:2023-09-26

我试图使用 this 设置对象person fullname属性,但在注销全名时未定义。

var person = {
  name:'yask',
  fullname: this.name + ' Srivastava'
}
console.log(person.fullname);

这很奇怪,因为在函数内部使用时使用 this 指的是对象。在这里,它看起来像是被引用到全局对象。(也许是窗口..?

你可以使用 getter 来做到这一点,

var person = {
  name:'yask',
  get fullname(){ return this.name + ' Srivastava' }
}
console.log(person.fullname);

基本上,您案例中的this将指向词法范围的上下文对象的功能,而不是对象本身。