我有以下功能:
function calculateAspect(options){
def = {
orgw: 0,
orgh: 0,
tarw: 0,
tarh: 0
};
o = $.extend(def,options);
console.log(o);
};
calculateAspect({orgw:640});
我希望能够传递如下所示的值:
calculatedAspect(640,480,320)
要么
calculateAspect(200)
给定功能,这似乎不合逻辑。但是我很好奇如何实现它。
最佳答案
您可以使用包含所有传递的参数的arguments
:
function calculateAspect(options){
var argNames = ["orgw","orgh","tarw","tarh"];
def = {
orgw: 0,
orgh: 0,
tarw: 0,
tarh: 0
};
for (var i=0, n=Math.min(arguments.length, 4); i<n; i++) {
def[argNames[i]] = arguments[i];
}
console.log(o);
}
关于javascript - 将逗号分隔的参数传递给js函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4400328/