给定以下对象:
var myObj = {
fname: 'John',
lname: 'Doe',
values: {
get fullName() {
return this.fname + ' ' + this.lname
}
}
};
尝试访问 myObj.values.fullName
时,返回 undefined undefined
,因为 this
的上下文设置为 myObj .values
,而不是 myObj
。
有办法改变吗?我尝试了我能想到的所有 bind
组合,但大多数时候这只会导致语法错误,因为 fullName
不是常规函数。
最佳答案
您只能通过 myObj.fname
和 myObj.lname
访问父对象属性。
var myObj = {
fname: 'John',
lname: 'Doe',
values: {
get fullName() {
return myObj.fname + ' ' + myObj.lname
}
}
};
关于javascript - 如何更改 JavaScript getter 的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36956688/