Javascript 对象中的箭头函数和简单函数行为

Javascript 对象中的箭头函数和简单函数行为,javascript,ecmascript-6,scope,arrow-functions,Javascript,Ecmascript 6,Scope,Arrow Functions,有人能解释一下为什么箭头函数显示的是“Ram”而不是“Syam” 据我所知,箭头函数中的这个指向父对象,普通函数指向全局对象,但这里的结果不同 this.name="Ram" var name="Ajay" var obj ={ name:"Shyam", show : () => console.log(this.name), show2: function (){console.log(this.name)} } obj.show() // Ram obj.

有人能解释一下为什么箭头函数显示的是“Ram”而不是“Syam”

据我所知,箭头函数中的
这个
指向父对象,普通函数指向全局对象,但这里的结果不同

this.name="Ram"
var name="Ajay"
var obj ={
    name:"Shyam",
    show : () => console.log(this.name),
    show2: function (){console.log(this.name)}
  }
obj.show() // Ram
obj.show2() // Shyam

“我所知道的…”-您可能想再看看(箭头)函数是如何工作的;)请小心使用全局
名称
:@Andreas您能给出一个解决方案而不是评论和结束问题吗?@AshwaniPanwar您好,您的代码是否在JSFIDLE中运行?“我知道箭头函数中的
指向父对象普通函数指向全局对象…”一点也不
这个
在arrow函数中是按词汇解析的,就像其他变量一样
在“正常”函数中取决于函数的调用方式。