我有一个对象和3个方法,现在我执行它的代码如下所示:
var cmpAmount = 50,
addLessAmount = 6,
addMoreAmount = 14;
priceChanger.changeSmallPrice(cmpAmount, addLessAmount, addMoreAmount);
priceChanger.changeBigPrice(cmpAmount, addLessAmount, addMoreAmount);
priceChanger.changeTooltipPrice(cmpAmount, addLessAmount, addMoreAmount);
所以,如果参数是相同的,如何执行它三个发送参数。 我的意思是如何更改我的代码以减少它。
答案 0 :(得分:1)
我认为最好制作一个方法“changeAllPrices(cmpAmount,addLessAmount,addMoreAmount)”
答案 1 :(得分:0)
可能使用对象存储所有属性:
var args = {cmpAmount:50,addLessAmount: 6, addMoreAmount: 14};
priceChanger.changeSmallPrice(args);
priceChanger.changeBigPrice(args);
priceChanger.changeTooltipPrice(args);
答案 2 :(得分:0)
您可以使用简单的辅助函数(如下面的函数)使用参数数组调用每个函数。我相信一些javascript库包含一个名为composeArgs
function execute(fns, args) {
for(var i = 0; i < fns.length; i++) {
fns[i].apply(this, args);
}
}
然后调用execute
var cmpAmount = 50,
addLessAmount = 6,
addMoreAmount = 14;
execute([priceChanger.changeSmallPrice, priceChanger.changeBigPrice, priceChanger.changeTooltipPrice],
[cmpAmount, addLessAmount, addMoreAmount]);