您只能传递一个参数,但只有一个参数,该参数必须是x
; 因为没有办法(不传递对象)来确定您“打算”传递的变量。因此,收到的第一个变量将始终是,x
第二个y
,尽管如此,我建议:
function final_total(x,y) {
return y ? x + y : x;
}
并且,在只有一个传入参数的情况下,此函数返回该单个值,或者,给定两个变量,返回这两个的总和。所以这确实如你所愿,即使无法确定是否x
传入 y
。
但是,如果您必须显式传入或 x
( y
出于某种原因):
function final_total(values) {
var x = values.x || 0,
y = values.y || 0;
return x + y;
}
var variableName1 = final_total({x : 23, y : 4});
console.log(variableName1);
// 27
var variableName2 = final_total({y : 4});
console.log(variableName2);
// 4
var variableName3 = final_total({x : 23});
console.log(variableName3);
// 23
JS 小提琴演示。