为什么输出在这里未定义?

时间:2018-03-10 22:39:58

标签: javascript frontend

var object = { _text: 'Hello World', getInvite: function() {return this._text}}; 
var func= object.getInvite; 
console.log(func());

是不是因为这里的函数不是在对象的上下文中调用的?这使得这个'未定义?

1 个答案:

答案 0 :(得分:-1)

这是因为当您将object.getInvite分配给func时,它会失去对"对象"的其余部分的引用。宾语。

object.getInvite()有效,因为对象有一个名为_text的属性,而func只是一个独立的函数,不再引用_text