JS数据重载计算圆的面积
时间: 2024-09-15 21:12:16 浏览: 27
在JavaScript中,并不像其他一些静态类型的编程语言那样有严格的函数重载机制。然而,你可以通过创建一个接收不同类型参数的方法来模拟类似的效果,然后根据传入的具体参数类型来动态计算圆的面积。例如:
```javascript
function calculateCircleArea(radius) {
if (typeof radius === 'number') { // 如果radius是一个数字
return Math.PI * radius * radius;
} else if (Array.isArray(radius)) { // 如果radius是一个数组(可能包含半径)
if (radius.length === 2) {
const [x, y] = radius;
return Math.PI * Math.pow(Math.hypot(x, y), 2);
}
throw new Error('Invalid array for circle area calculation');
} else {
throw new TypeError('Expected a number or an array of two numbers');
}
}
// 示例用法
console.log(calculateCircleArea(5)); // 单一半径
console.log(calculateCircleArea([3, 4])); // 圆心坐标
```
在这个例子中,`calculateCircleArea`函数可以处理单一半径的情况,也可以接受表示圆心坐标的二维数组。如果你传递了不符合预期的数据类型,它会抛出错误。