LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 428|回复: 0

后备的默认参数

[复制链接]
发表于 2024-2-18 23:22:37 | 显示全部楼层 |阅读模式
有些时候,将参数默认值的设置放在函数执行(相较更后期)而不是函数声明时,也行得通。

我们可以通过将参数与 undefined 进行比较,来检查该参数是否在函数执行期间被传递进来:

function showMessage(text) {
  // ...

  if (text === undefined) { // 如果参数未被传递进来
    text = 'empty message';
  }

  alert(text);
}

showMessage(); // empty message
……或者我们可以使用 || 运算符:

function showMessage(text) {
  // 如果 text 为 undefined 或者为假值,那么将其赋值为 'empty'
  text = text || 'empty';
  ...
}
现代 JavaScript 引擎支持 空值合并运算符 ??,它在大多数假值(例如 0)应该被视为“正常值”时更具优势:

function showCount(count) {
  // 如果 count 为 undefined 或 null,则提示 "unknown"
  alert(count ?? "unknown");
}

showCount(0); // 0
showCount(null); // unknown
showCount(); // unknown

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表