📜  如何获取 JavaScript 中的第一个非空未定义参数?(1)

📅  最后修改于: 2023-12-03 15:09:14.410000             🧑  作者: Mango

如何获取 JavaScript 中的第一个非空未定义参数?

在 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

以上代码简单地返回第一个参数,而不需要进行任何检查。你可以根据你的需求选择使用不同的方法。