分别调用两个javascript函数

分别调用两个javascript函数,javascript,jquery,Javascript,Jquery,我有两个函数,例如runslider()和runslider1()。 runslider()在加载文档后运行,我需要在完成runslider()后调用runslider1()。然后在runslider1()之后再次执行runslider()。这个过程应该像无限循环一样发生。谁能帮帮我吗。 我试着让他们像回电话一样。但那没用 function runSlider(runslider1){ alert("run") runSlider1(runSlider()

我有两个函数,例如runslider()和runslider1()。 runslider()在加载文档后运行,我需要在完成runslider()后调用runslider1()。然后在runslider1()之后再次执行runslider()。这个过程应该像无限循环一样发生。谁能帮帮我吗。 我试着让他们像回电话一样。但那没用

    function runSlider(runslider1){
        alert("run")
        runSlider1(runSlider());
    }

    function runSlider1(runslider){
        alert("run1");
        runSlider(runSlider1());
    }

如果希望反复调用函数,请尝试使用
setInterval

函数runSlider(){
警报(“运行”);
runSlider1();
}
函数runSlider1(){
警报(“运行1”);
}

设置间隔(运行滑块,100)以上注释正确-将导致堆栈溢出

我不知道你为什么需要这个,但我为你清理了你的代码:

function runSlider() {
    alert('run');
    runSlider1();
}

function runSlider1() {
    alert('run1');
    runSlider();
}

您可以创建这样的无限循环,只需调用一个函数

var runSlider=function(){
console.log(“运行”)
runSlider1()
}
var runSlider1=函数(){
console.log(“run1”);
setTimeout(函数(){
runSlider()
}, 1000)
}
runSlider()
另一种解决方案是:

function runSlider() {
    console.log("run");
    runSlider1();
    setTimeout(runSlider1(), 1000) // Calls runSlider1() after 1 second(1000 millisecond). You can change it.
}

function runSlider1() {
    console.log("run1");
    setTimeout(runSlider(), 1000) // Calls runSlider1() after 1 second(1000 millisecond).
}

runSlider(); // Starts the cycle

如果这样做,将导致堆栈溢出,只需创建一个调用这两个函数的无限循环即可。所以这会挂起浏览器。然而,正如前面所说,
setInterval
会起作用。代码是错误的,我们可以修复它,但是为什么您要首先中断浏览器?您只需要一个函数就可以使其循环,下面是发生的情况:这会产生一个错误
“runSlider1”在定义之前就被使用了。
var maxCalls = 0;

function run1(cb) {
  alert('run1');
  if (maxCalls++ < 5) { //Added this to avoid an infinite loop
    cb(run1); //We want the function run after cb to be this one
  }
}

function run2(cb) {
  alert('run2');
  if (maxCalls++ < 5) {
    cb(run2);
  }
}
var runFunc = 0;

var run1 = function() {
  alert('run1');
};

var run2 = function() {
  alert('run2');
};

var run = function() {
  !(++runFunc) ? run2 : run1; //Alternate between calling each function
}

var stopRunning = function() { //Call this to stop the functions running
  clearInterval(runInterval);
};

var runInterval = setInterval(run, 1000); //Calls the function every second