如何解决Javascript-函数,缺少参数
这里是婴儿编码器,只是进入功能。我创建了一个函数来计算矩形的面积,只要提供了两个参数,它就可以工作。如果只提供一个参数,我希望我的代码假定形状为正方形(因此长度和宽度相等)。我一直在试图提出一个条件,但不知道怎么说“如果只有一个参数,则长度===宽度”。任何指针表示赞赏!
function area(length,width) {
let rectangleArea = Number(length) * Number(width);
return rectangleArea;
}
console.log(area(10,5));
解决方法
一种选择是对width
参数使用default function parameters,如果未传递,则将其设置为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")
,它们也会被强制转换为数字并相乘。
您可以使用默认参数width = length
。如果width
的值未传递给该函数,则length
的值将被分配给width
。
function area(length,width = length) {
let rectangleArea = Number(length) * Number(width);
return rectangleArea;
}
console.log(area(10,5));
console.log(area(10));
console.log(area(5));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。