在使用匿名函数文字定义的对象方法中的值

时间:2017-09-12 15:00:59

标签: javascript node.js methods this anonymous

以下对象myObj具有以三种不同方式定义的相同方法(至少我可以互换),但使用匿名文字定义的方法表现不同:

const myObj = {
  msg: 'dude',
  say1: () => {
    console.log(this.msg)
  },
  say2: function() {
    console.log(this.msg)
  },
  say3() {
    console.log(this.msg)
  }
}

myObj.say1()
myObj.say2()
myObj.say3()

结果:

undefined
dude
dude

this指向say1内部的位置?为什么它与say2say3不同?我在Node.js(v8.4.0)中运行它。

0 个答案:

没有答案