2011-06-10 71 views
3

我有幾個函數可能需要或可能不需要重複一定次數。次數由用戶設置,並存儲在變量:xTcount中。迭代腳本X次

if (xTcount > 0) { 
    for (i=0; xTcount <= i; i++) { 
     $(document).miscfunction(); 
    } 

} 

我沒有真正測試過上面的腳本,因爲我確定它不正確。什麼使我想要的技巧變得棘手,就是我不想爲每個可重複的函數編寫一個「check xTcount」子句。如果可能的話,我想創建一些主檢查器,只需重複下一次調用函數xTcount時間...

回答

14

重複一些事情xTcount次?也許我誤解,但它看起來很簡單:

for(var i = 0; i < xTcount; i++) { 
    doSomething(); 
    doSomethingElse(); 
} 

如果問題是你不喜歡for環的樣子,或者你的腳本需要您構建同一個循環多次,你可以提取它,如果你reeeaaallllly想:

function repeat(fn, times) { 
    for(var i = 0; i < times; i++) fn(); 
} 

repeat(doSomething, xTcount); 
// ...later... 
repeat(doSomethingElse, xTcount); 
+0

我有我可以/要循環的各種功能。我不想進入每一個並創建循環條款。如果循環環繞下一個被調用的函數,它會更加靈活。 – 2011-06-10 18:02:20

+0

- 我重新閱讀你的文章,你確實提供了一個主中繼功能,謝謝,但我無法讓它工作,有什麼我應該知道使用它?它看起來挺直... – 2011-06-11 15:57:19

+0

@Jason:我在城外有限的互聯網接入,所以不能幫助一噸。無論如何,我已經檢查並且該功能正確運行。你是否收到錯誤信息或任何東西?記住,將函數作爲一個對象傳遞,而不是調用它,例如,用函數lol(){alert(「lol」)}'run'repeat(lol,5)'而不是'repeat(lol(),5 )'。 – Matchu 2011-06-12 03:00:58