Javascript 对象中的箭头函数和简单函数行为
有人能解释一下为什么箭头函数显示的是“Ram”而不是“Syam” 据我所知,箭头函数中的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.
这个指向父对象,普通函数指向全局对象,但这里的结果不同
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函数中是按词汇解析的,就像其他变量一样此
在“正常”函数中取决于函数的调用方式。