gpt4 book ai didi

javascript - 为什么我不能访问匿名函数对象?

转载 作者:行者123 更新时间:2023-11-30 19:44:46 29 4
gpt4 key购买 nike

我试图理解为什么我无法访问匿名函数的对象。

一个例子:

let Run=(distance)=>{
console.log(`Mr ${this.name} is coming to the end of a very long road, After more than ${distance}.`)
}

let Runner = {name:'Forest Gump',Run}

Runner.Run('15,000 miles')

这个返回:

一个空对象:

Mr 正走到一条很长的路的尽头,经过 15,000 多英里后。

但是当我将函数更改为:

function Run(distance){

console.log(`Mr ${this.name} run ${distance}`)}

完美运行

有人可以向我解释为什么在执行匿名函数时我们无法访问该对象吗?

谢谢。

最佳答案

这是因为箭头函数没有自己的this。箭头函数中的 this 是根据它的词法作用域决定的(即,根据你的箭头函数是如何封闭的),而不是根据函数的调用方式。

MDN有关于箭头函数的这个特性的详细文档。

关于javascript - 为什么我不能访问匿名函数对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55049508/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com