此代码不断重复,但我希望它发生两次,在函数调用之后,然后在使用setTimeout
.
function alertit() {
alert('code');
setTimeout(alertit, 200);
}
alertit();
此代码不断重复,但我希望它发生两次,在函数调用之后,然后在使用setTimeout
.
function alertit() {
alert('code');
setTimeout(alertit, 200);
}
alertit();
function alertit(callAgain) {
alert('code');
if (callAgain) setTimeout("alertit(false)", 200);
}
alertit(true);
function alertit() {
alert('code');
}
alertit();
setTimeout(alertit, 200);
例如。
你能试试这个
function alertit(){
// guard code
if ( alertit.times == 2 ) return ; // for 4 times, alertit.times == 4
alertit.times = alertit.times ? ++alertit.times: 1;
// your function logic goes here ..
alert( 'here function called ' + alertit.times );
setTimeout( alertit , 1000 );
}
alertit();
您可以在此处应用条件逻辑。
var callfunc = true;
function alertit() {
alert('code');
if(callfunc == true)
setTimeout(function(){ callfunc = false; alertit();}, 200);
}
alertit();
如果调用setTimeout
必须在内部:
function alertit() {
var f = function () {
alert('code');
}
f();
setTimeout(f, 200);
}
alertit();
你可以使用两个标志来实现。count 将确保您的方法运行两次,并且执行标志确保仅在第一次设置超时时。
var execute = true;
var count = 0;
function alertit() {
if (count < 2) {
alert('code');
if (execute) {
setTimeout(alertit, 200);
execute = false;
}
}
}
alertit();
我看到我给出了一个类似的答案,比如 tangelo,它以简单、简单的步骤做同样的事情。
如果您对更通用的方法感兴趣,可以设置如下内容:
function callMultipleTimes(func, count, delay) {
var key = setInterval(function(){
if (--count <= 0) {
clearInterval(key);
}
func();
}, delay);
}
function alertit() {
alert('code');
}
callMultipleTimes(alertit, 2, 200);
创建一个全局变量调用 It _Count = 0 并在函数 alertit() 中执行 if 条件 if ( _Count <> 1 ) 调用该函数,然后如果此代码为真,则增加您的变量并调用该函数...