簡體   English   中英

如何使用setInterval()重復調用帶有參數的函數?

[英]How do you call a function with arguments repeatedly with setInterval()?

我的函數運行正常但我希望它重復運行:

$('button').click( function(){

    setInterval(magicWords(7,3), 1000); 

});

我嘗試在函數本身中硬連接參數並運行參數 -但是它仍然是不行......?

你可以這樣做。

$('button').click( function(){

    setInterval(function(){
        magicWords(7,3)
     }, 1000); 

});

當你做setInterval(magicWords(7,3), 1000); 它在執行語句時調用函數,並且有效地將函數的結果(如果它不返回任何東西,可能是未定義的)將被設置為在該間隔運行而不是函數本身。 你可以使用

當然,如果您准備添加墊片以支持早期的瀏覽器,您可以使用ecmaScript 5 function.bind 每當調用時,這將使我們的函數與指定的上下文和參數綁定。

setInterval(magicWords.bind(this, 7,3), 1000);

使用閉包

setInterval( function(){ magicWords(7,3); }, 1000); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM