0

例如,将两个或多个函数传递给方法的正确语法是什么

setInterval("javascript function",milliseconds); 以下是正确的吗?

setInterval("pushmarkers();clearOverlays();loadmarkers();",5000);

4

3 回答 3

4

将它们包装在另一个函数中:

setInterval(function() {
  pushmarkers();
  clearOverlays();
  loadmarkers();
}, 5000);
于 2012-06-27T13:09:18.387 回答
2

您不应该将字符串传递给setInterval,这使用eval(这是邪恶的)。

您可以传递一个匿名函数:

setInterval(function () {
    pushmarkers();
    clearOverlays();
    loadmarkers();
}, 5000);

或命名函数:

var functionForSetInterval = function () {
    pushmarkers();
    clearOverlays();
    loadmarkers();
};

setInterval(functionForSetInterval, 5000);
于 2012-06-27T13:12:25.990 回答
1

两者都不是好习惯,因为您提供的是setInterval字符串,而不是对函数的引用。

您需要给 setInterval 一个函数,并且您可以轻松地制作一个调用其他函数的函数(将它们包装在一个函数中):

setInterval(function(){ pushmarkers(); clearOverlays(); loadmarkers(); }, 5000);

或者

function multifunction(){
    pushmarkers();
    clearOverlays();
    loadmarkers();
}

setInterval(multifunction, 5000);
于 2012-06-27T13:12:35.960 回答