2014-10-02 55 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);。如果函数的参数不止一个,而且其中的第一个参数的变量很少,但第二个参数的参数很多,那么这可以很方便。您可以使用预先为第一个参数提供的值创建绑定版本,然后传入的参数将成功执行“固定”预先安排的值。