我是JS的新手,我只是想知道是否有可能创建一个包含2个函数的循环。例如:
function a() {
var myvar =1;
b();
}
function b(){
var myvar =2;
a();
}
a();
当我尝试运行它时,我得到了这个结果“Uncaught SyntaxError:意外的输入结束”
答案 0 :(得分:0)
您尝试的方法对潜在的内存泄漏非常危险。
您应该使用的方法是调用setInterval
。其中3000表示每次迭代前的毫秒数。
setInterval(
function(){
alert("Hello");
},
3000
);
答案 1 :(得分:0)
是的,你可以这样做,但有一些事情要记住:
当然,你可以使用setInterval
,但它不是很灵活。
我喜欢使用的函数写得有点像这样:
(function(delay, callback){
var loop = function(){
callback();
setTimeout(loop, delay);
}; loop();
})(1000, function(){console.log('Hello World!')});
每1000毫秒或1秒记录'Hello World!'
。
另一种方法是简单地在超时时引用自身,如下所示:
function sayHello(){
console.log('Hello World!');
setTimeout(sayHello, 1000);
}; sayHello();
..或者更好,一个永久的解决方案:
function loopFunction(delay, callback){
var loop = function(){
callback();
setTimeout(loop, delay);
}; loop();
};
loopFunction(1000, function(){console.log('Hello World!')});
要每隔一个时间间隔调用两个函数,您可以创建一个切换开关,或稍后使用setTimeout
调用第二个函数。