Javascript - 函数,缺少参数

标签 javascript function arguments conditional-statements

这里是小程序员,刚开始学习函数。我创建了一个函数来计算矩形的面积,只要提供两个参数,它就可以工作。如果只提供一个参数,我希望我的代码假设形状是正方形(因此长度和宽度相等)。我一直在尝试提出一个条件,但不知道如何说“如果只有一个参数,则长度 === 宽度”。任何指点表示赞赏!

function area(length, width) {
    let rectangleArea = Number(length) * Number(width);
    return rectangleArea;
}
console.log(area(10, 5));

最佳答案

一个选择是使用 default function parameters对于width参数,如果不传就设置为length

function area(length, width = length) {
  let rectangleArea = length * width;
  return rectangleArea;
}

console.log(area(10, 5));
console.log(area(10));

默认函数参数是最近的一个特性。如果令人困惑,您可以检查 width 参数是否为 undefined 并将其设置为 length

function area(length, width) {
  if (typeof width === "undefined")
    width = length;

  let rectangleArea = length * width;
  return rectangleArea;
}

console.log(area(10, 5));
console.log(area(10))

另外,这里不需要 Number() 包装器。你已经在传递数字了。即使您将字符串作为参数传递,例如 area("10", "5"),它们也会被强制转换为数字并相乘。

关于Javascript - 函数,缺少参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63681763/

相关文章:

javascript - 带小数点和千位分隔符的正则表达式

javascript - onClick anchor 标记当前 div 使用 jquery 显示

c - 在c中将多个参数传递给main

r - 名称对应于现有函数名称的函数参数的默认值

list - 扫描仪如何工作? haskell

javascript - Angular.js 中的过滤指令

javascript - 连接到表单提交 Node js上的套接字

javascript - 使用 jQuery 错误编译 coffeescript

windows - 使用 DEF 文件而不是 LIB 文件链接到 DLL?

javascript - 获取数组的总和并在另一个函数中回调一个函数