0

たとえば、2つ以上の関数をメソッドに渡す正しい構文はどれですか

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 に答える