gpt4 book ai didi

javascript - 我的代码中存在 "this.function"和 Scope 问题

转载 作者:行者123 更新时间:2023-12-02 20:46:29 28 4
gpt4 key购买 nike

嘿,我这里有这段代码: http://pastie.org/534470

在第 109 行,我收到一条错误消息“TypeError: 表达式 'this.allVarsDefined' [undefined] 的结果不是一个函数。”

javascript 中的作用域让我感到困惑。有人能看到我的问题是什么吗?你们还知道有什么文章可以帮助我了解 javascript 中的作用域吗?这是我第一次真正使用 JS :)

最佳答案

这看起来是基于原型(prototype)的。您可能需要像这样设置通知回调:

setTimeout(this.notify.bind(this), 5000, track);

这样notify函数就会绑定(bind)到Scrobbler对象上,并且将this设置为Scrobbler对象,而不是在超时时触发该函数的事件。

如果我对你使用原型(prototype)的看法是错误的,你可能可以使用使用达到相同的效果

var that = this;
setTimeout( function() { that.notify(); }, 5000, track );

关于javascript - 我的代码中存在 "this.function"和 Scope 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1083260/

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