2012-06-27 100 views
0

哪一个是正确的语法传递两个或更多的功能的方法例如JS传递两个功能的方法

setInterval("javascript function",milliseconds); 被下面的正确?

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

+1

从来没有通过串' setInterval',传递函数:) – jbabey

回答

4

总结他们在另一个功能:

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

你不应该传递字符串setInterval,这里采用eval(这是邪恶的)。

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

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

或命名功能:

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

setInterval(functionForSetInterval, 5000); 
1

也不是很好的做法,因为你给setInterval字符串,而不是引用的功能。

你需要给setInterval的函数,你可以很容易地调用其他功能(包起来的函数)的函数:

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

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

setInterval(multifunction, 5000);