📅  最后修改于: 2023-12-03 15:09:14.410000             🧑  作者: Mango
在 JavaScript 中,我们需要经常处理函数参数。有时候我们需要获取第一个非空未定义的参数,可能会用到下面这个方法:
function getFirstDefinedParameter(param1, param2, param3) {
return param1 !== undefined && param1 !== null ? param1 : param2 !== undefined && param2 !== null ? param2 : param3 !== undefined && param3 !== null ? param3 : undefined;
}
console.log(getFirstDefinedParameter(undefined, null, 'hello')); // 输出 'hello'
console.log(getFirstDefinedParameter('', null, 'world')); // 输出 ''
console.log(getFirstDefinedParameter()); // 输出 undefined
以上方法使用了 ternary operator(三目运算符),以判断参数是否为 undefined 和 null。
我们可以将此方法改为更易读的代码,以便于维护:
function getFirstDefinedParameter(param1, param2, param3) {
if (param1 !== undefined && param1 !== null) {
return param1;
} else if (param2 !== undefined && param2 !== null) {
return param2;
} else if (param3 !== undefined && param3 !== null) {
return param3;
} else {
return undefined;
}
}
console.log(getFirstDefinedParameter(undefined, null, 'hello')); // 输出 'hello'
console.log(getFirstDefinedParameter('', null, 'world')); // 输出 ''
console.log(getFirstDefinedParameter()); // 输出 undefined
这个方法可以适用于任意多个参数,并且只返回第一个非空未定义参数。如果你想要获取第一个定义了的参数,可以使用以下代码:
function getFirstParameter(param1, param2, param3) {
var result = arguments[0];
return result;
}
console.log(getFirstParameter(undefined, null, 'hello')); // 输出 undefined
console.log(getFirstParameter('', null, 'world')); // 输出 ''
console.log(getFirstParameter()); // 输出 undefined
以上代码简单地返回第一个参数,而不需要进行任何检查。你可以根据你的需求选择使用不同的方法。