将两个或多个函数传递给方法的正确语法是
setInterval("javascript function",milliseconds);
以下是正确的吗?
setInterval("pushmarkers();clearOverlays();loadmarkers();",5000);
答案 0 :(得分:4)
将它们包裹在另一个功能中:
setInterval(function() {
pushmarkers();
clearOverlays();
loadmarkers();
}, 5000);
答案 1 :(得分:2)
你不应该将字符串传递给setInterval
,这会使用eval
(这是邪恶的)。
您可以传递匿名函数:
setInterval(function () {
pushmarkers();
clearOverlays();
loadmarkers();
}, 5000);
或命名函数:
var functionForSetInterval = function () {
pushmarkers();
clearOverlays();
loadmarkers();
};
setInterval(functionForSetInterval, 5000);
答案 2 :(得分:1)
这两种做法都不是很好,因为你提供的是setInterval
字符串,而不是函数的引用。
你需要给setInterval一个函数,你可以轻松地创建一个调用其他函数的函数(将它们包装在函数中):
setInterval(function(){ pushmarkers(); clearOverlays(); loadmarkers(); }, 5000);
或
function multifunction(){
pushmarkers();
clearOverlays();
loadmarkers();
}
setInterval(multifunction, 5000);