[英]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.