javascript - JavaScript 中的可选参数

标签 javascript object arguments

为什么如果缺少剩余参数,该函数不会抛出错误?

showStatistics("Mark Teixeira", "New York Yankees", "1st Base");

这是一个定义的函数:

function showStatistics(name, team, position, average, homeruns, rbi) {
  document.write("<p><strong>Name:</strong> " + arguments[0] + "<br />");
  document.write("<strong>Team:</strong> " + arguments[1] + "<br />");

  if (typeof arguments[2] === "string") {
    document.write("<strong>Position:</strong> " + position + "<br />"); 
  }
  if (typeof arguments[3] === "number") {
    document.write("<strong>Batting Average:</strong> " + average + "<br />");
  }
  if (typeof arguments[4] === "number") {
    document.write("<strong>Home Runs:</strong> " + homeruns + "<br />");
  }
  if (typeof arguments[5] === "number") {
    document.write("<strong>Runs Batted In:</strong> " + rbi + "</p>"); 
  }
}

最佳答案

任何未传递的参数在函数内都显示为未定义。 JavaScript 中没有方法重载。

关于javascript - JavaScript 中的可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572212/

相关文章:

javascript - 让 DOM 模板在 VueJS 2.0 中工作的确切要求是什么?

javascript - 实现延迟的 jquery 更改事件处理程序

javascript - 如何将每个用户路由/链接到他们自己的数据?

java - 与其他语言相比,Java 中的具体类型和抽象类型

java - 计算字符串的长度和 "padding"it

python - 与 return 语句一起使用 'elif' 或连续的 'if' 语句更好吗?

php - 我们可以将多个参数传递给 Controller ​​中的函数吗?

python - 为什么此代码仅适用于 Something() 中的 *args?

javascript - 访问另一台 LAN PC 上的 Webpack Dev Server

docker - 覆盖父 Docker 参数