2012-06-27 102 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);