gpt4 book ai didi

javascript - 使用 javascript 对象中方法的值在 setTimeout 函数中使用

转载 作者:行者123 更新时间:2023-12-02 15:05:19 24 4
gpt4 key购买 nike

我尝试过不同的事情,但我似乎确实在寻找一些太明显的东西。尝试在对象内使用函数(方法)返回的值,并在同一对象内的另一个方法中使用 setTimeout 。

这是 html:

<h1>3000</h1>

javascript(本例中为 jQuery):

    var foo = { 
getValue: function() {
var h1Text = $('h1').text();
h1Text = parseInt(h1Text);
return h1Text;
},
useValue: function() {
var time = this.getValue();
var alertIt = alert('Hello');
setTimeout(alertIt,time);
}
};
foo.useValue();
// log shows correct value
console.log(foo.getValue());
// returns a number
console.log(typeof(foo.getValue()));

警报确实出现了,但是是在加载时出现的,而不是在这 3 秒内出现的。它确实记录了正确的值,并且还说它是一个数字,所以我真的不确定我做错了什么。任何帮助表示赞赏。谢谢

最佳答案

useValue() 中,您调用 alert('Hello'),因此它会立即执行,并将结果存储在 alertIt 变量中。您应该将其放入函数中,如下所示,因为 setTimeout 需要一个函数作为第一个参数:

var alertIt = function() {
alert('Hello');
}

setTimeout(alertIt,time);

关于javascript - 使用 javascript 对象中方法的值在 setTimeout 函数中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35157719/

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