2014-10-02 43 views
1

我有一個參數的函數,例如:在JavaScript/jQuery中多次調用帶有參數的函數的速記?

function doThisThing(toThis){ 
    // some function 
} 

到目前爲止,我一直在使用不同的參數多次調用該函數是這樣的:

doThisThing (bananas); 
doThisThing (apples); 
doThisThing (pears); 

是否有這樣做的一種方式更簡潔?我試過的東西doThisThing (bananas, apples, pears);等,但都無濟於事......

回答

2
[bananas, apples, pears].forEach(doThisThing); 

的作品,如果你能依靠Array.prototype.forEach支持和doThisThing只需要一個參數。

+0

謝謝,完美:) – Godge 2014-10-02 23:56:26

1

我真的不明白這一點,但

[bananas, apples, pears].forEach(doThisThing); 

代碼更加簡潔是一件好事,但也很重要因爲它不奇怪。現在

,如果doThisThing(banana)等都是你做的事情很多,那麼你可以創建預先安排快捷鍵:

var doBanana = doThisThing.bind(undefined, banana); // etc 

然後doBanana()相當於doThisThing(banana);。如果函數的參數不止一個,而且其中的第一個參數的變量很少,但第二個參數的參數很多,那麼這可以很方便。您可以使用預先爲第一個參數提供的值創建綁定版本,然後傳入的參數將成功執行「固定」預先安排的值。