我试图返回对象内部元素的名称。第二个元素是函数 getBook()
应该返回书名,但我得到 undefined
在我的控制台中。我定义了第二个变量 get name ,它引用对象内部的函数。我不确定是否可以使用 return this.element。如果有人能解释为什么我的代码失败,我将不胜感激。谢谢。
var books = {
name: 'Goodnight Moon',
getBook() {
return this.name;
}
};
var getName = books.getBook;
console.log(getName());
最佳答案
您需要bind()书籍中的 getName 函数表达式。否则 this
的上下文将引用 window
对象:
var books = {
name: 'Goodnight Moon',
getBook() {
return this.name;
}
};
var getName = books.getBook.bind(books);
console.log(getName());
关于javascript - 对象内部定义的函数没有返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47877761/