this.b(); } console.log(a.c()); 最-6ren">
gpt4 book ai didi

javascript - 如何调用对象中的方法

转载 作者:搜寻专家 更新时间:2023-11-01 00:19:26 26 4
gpt4 key购买 nike

我在调用对象方法时遇到问题,它总是抛出错误 this.b不是函数

var a={
b:()=>"3333",
c:()=>this.b();
}
console.log(a.c());

最佳答案

您的代码不起作用,因为箭头函数将函数绑定(bind)到定义它的范围。在这种情况下,当您使用箭头函数创建函数“c”时,您处于全局范围内。通常这可以通过绑定(bind)调用来解决。但是,在这种情况下,我只会转换为经典函数。这是一个很好的教训,告诉你为什么你不应该偷懒并使用箭头功能来保存几个字符。箭头函数与普通函数不同,会导致难以调试的错误。

var a={
b:()=>"3333",
c:function () { return this.b() }
}
console.log(a.c())

关于javascript - 如何调用对象中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57145137/

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