Javascript 为什么我得到的不是一个数字,而是函数返回的值
我试图做一些简单的计算,但我的函数仍然返回一个NaNNot-a-Number。 根据MDN,NaN的意思不是数字,因此我尝试将其转换为带有数字的数字,但仍然返回相同的内容,以下是代码:Javascript 为什么我得到的不是一个数字,而是函数返回的值,javascript,Javascript,我试图做一些简单的计算,但我的函数仍然返回一个NaNNot-a-Number。 根据MDN,NaN的意思不是数字,因此我尝试将其转换为带有数字的数字,但仍然返回相同的内容,以下是代码: function capPow() { var arr = []; for (var i = 1 ; i <= 100 ; i++) { var result = Math.pow(i, 2); arr.push(result); } for (var j = 0
function capPow() {
var arr = [];
for (var i = 1 ; i <= 100 ; i++) {
var result = Math.pow(i, 2);
arr.push(result);
}
for (var j = 0 ; i < arr.length ; i++) {
var result2 =+ arr[i];
}
var finfin = Math.pow(result2, 2);
var ending = finfin - result2;
return Number(ending);
}
console.log(capPow());
可能您有一个输入错误:
var result2 += arr[i];
您还应该在for语句之外定义result2
还有一些错误。这是用修复程序更新的JSFIDLE:可能,您有一个输入错误:
var result2 += arr[i];
您还应该在for语句之外定义result2
还有一些错误。这是通过修复更新的JSFIDLE:有一些错误,所以我将一步一步地进行 这个for循环是头痛的根源
for (var j = 0 ; i < arr.length ; i++) {
var result2 =+ arr[i];
}
当有疑问时,记录一切。var finfin之前的console.logresult2将向您显示result2在整个过程中没有定义,console.logj将向您显示根本没有输入循环 有一些错误,所以我将一步一步地进行 这个for循环是头痛的根源
for (var j = 0 ; i < arr.length ; i++) {
var result2 =+ arr[i];
}
当有疑问时,记录一切。var finfin之前的console.logresult2将向您显示result2在整个过程中没有定义,console.logj将向您显示根本没有输入循环 此给定的未捕获的语法错误:意外标记+=此给定的未捕获的语法错误:意外标记+=Is var result2=+arr[i];打字错误?运算符应该是+=,而不是=+。另外,为什么要将已经是数字的变量转换为数字?我遗漏了什么吗?var result2=+arr[I];打字错误?运算符应该是+=,而不是=+。另外,为什么要将已经是数字的变量转换为数字?我遗漏了什么吗?I的不正确使用是一个重要的点-没有它,你的循环根本没有运行,因此result2从未定义,因此数学上的结果是NaN。I的不正确使用是一个重要的点-没有它,你的循环根本没有运行,因此result2从未定义,因此数学上的结果是NaN。