javascript - 为什么我得到参考错误,我的代码有什么问题?
问题描述
let radius = [3, 2, 1, 4];
function area(radius) {
let tArea = [];
let circumference = [];
let diameter = [];
for (let i = 0; i < radius.length; i++) {
tArea.push(Math.PI * radius[i] * radius[i]);
circumference.push(2 * Math.PI * radius[i]);
diameter.push(2 * radius[i]);
}
return tArea;
return circumference;
return diameter;
}
console.log(area(radius));
console.log(area(circumference));
console.log(area(diameter));
你好专家,我不明白,为什么这段代码不起作用。我收到一个参考错误。如果可能,请解释一下并教我如何调试代码,这样我就不会因为小错误而打扰你们。谢谢你。
解决方案
我不知道你到底想做什么,但这里有几件事你做错了。
circumeference
并diameter
在函数范围内定义,并且您试图在函数外部访问它,这会导致此错误。- 您正在尝试使用多个 return 语句从函数返回多个值,这是不可能的,因为第一次 return 将结束函数。出于您的目的,您可以简单地从函数中返回一个包含所需值的对象。
看下面的代码,
let radius = [3, 2, 1, 4];
function area(radius) {
let tArea = [];
let circumference = [];
let diameter = [];
for (let i = 0; i < radius.length; i++) {
tArea.push(Math.PI * radius[i] * radius[i]);
circumference.push(2 * Math.PI * radius[i]);
diameter.push(2 * radius[i]);
}
return {area: tArea, circumference, diameter};
}
const {area: calculatedArea, circumference, diameter} = area(radius);
console.log(calculatedArea);
console.log(circumference);
console.log(diameter);
推荐阅读
- eclipse - Eclipse egit:如何使远程分支本地化
- python - 错误:无法找到 conda 二进制文件。Anaconda 安装了吗?网状工作室
- python - Python 类变量在其回调函数之外延迟
- postgresql - 为什么 Postgres 无法识别我的 GRANT 语句?
- python - 在python中按长度分割字符串?
- python - 根据它们是否在数组中删除数据框中的特定值
- c# - 基于用户输入和先决条件搜索数组并创建子组的 C# 函数
- sql - Azure SQL 大容量插入文本限定符
- vba - 由 Visual Basic 在 Outlook 中创建的规则或无法正常工作
- windows-machine-learning - windows-machine-learning - “没有为 op Add 找到合适的内核定义”