gpt4 book ai didi

javascript - 将变量设置为函数的实例

转载 作者:行者123 更新时间:2023-12-02 17:04:09 25 4
gpt4 key购买 nike

我编写了这段 JavaScript,期望得到以下结果:“X:10”

function sprite() {
var run= function() {
window.setInterval(function(){
console.log("X:"+x.toString());
},gameSpeed);
};
console.log("I'm Alive!");
run();
};
var instance=new sprite();
instance.x=10;

相反,它会抛出此错误:“ReferenceError:x未定义”

我在这里不明白什么?

最佳答案

使用 self 来保存对此的引用;这样下次 setInterval 触发时就会捕获它

function sprite() {
var self = this;
var run= function() {
window.setInterval(function(){
console.log("X:"+self.x.toString());
},gameSpeed);
};
console.log("I'm Alive!");
run();
};
var instance=new sprite();
instance.x=10;

顺便说一句,您还没有在任何地方定义 gameSpeed

关于javascript - 将变量设置为函数的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25415256/

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