我在我的 javascript 函数中使用下面的代码。我想在 10 秒后调用这个函数。但是该功能立即被触发!?!不知道发生了什么。
<script>
function testing() {
//other stuff
setTimeout(testing2('value'), 10000);
}
function testing2(value) {
//other stuff
}
</script>
我在我的 javascript 函数中使用下面的代码。我想在 10 秒后调用这个函数。但是该功能立即被触发!?!不知道发生了什么。
<script>
function testing() {
//other stuff
setTimeout(testing2('value'), 10000);
}
function testing2(value) {
//other stuff
}
</script>
testing2
被立即调用,因为你用参数写了它。
setTimeout
需要一个函数作为第一个参数。
如果你写testing2('value')
javascript 当然必须首先执行你testing2
的得到结果,然后才将结果传递给setTimeout
您需要将函数作为参数传递,而不是调用该函数。
setTimeout(function(){
// Inside the callback we do what we want.
testing2('value');
}, 10000);
问题是您将返回的值testing2('value')
而不是函数传递给setTimeout
.
尝试这个。
setTimeout(function() {
testing2('value');
}, 10000);