以下对象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
内部的位置?为什么它与say2
和say3
不同?我在Node.js(v8.4.0)中运行它。