为什么我'我得到的是Not-A-Number,而不是函数返回的Value
why I'm getting Not-A-Number instead of a Value returned by my function
我正在尝试进行一些简单的计算,但我的函数仍然返回NaN
(Not-a-Number)
根据MDN,NaN
的意思不是数字,所以我试图用Number()
转换成一个数字,但仍然返回相同的东西,这是代码:
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());
结果:
NaN
有一些错误,所以我将逐步进行。
这个for循环是头疼的根源。
for (var j = 0 ; i < arr.length ; i++) {
var result2 =+ arr[i];
}
您声明了var j
,然后将i
用于<和++比较,然后再次从i
中得到索引。还有一个对+=方法的反转。此外,result2一次又一次地超出范围,因此即使将其固定为+=也无济于事,因为result2不存在于for循环之外。您需要在for循环之外声明它,以便在计算finfin时它仍然存在。
应为:
var result2 = 0;
for (var j = 0 ; j < arr.length ; j++) {
result2 += arr[j];
}
当有疑问时,记录所有。var finfin
之前的console.log(result2)
将显示result2
在整个时间内都没有定义,而console.log(j)
将显示根本没有输入循环。
可能,您有一个拼写错误:
var result2 += arr[i];
此外,您应该在for
语句之外定义result2
你也有几个错误。这是更新的jsfiddle修复:http://jsfiddle.net/rm3cpk5e/
相关文章:
- ES6构造函数返回基类的实例
- 从函数返回角度承诺
- 如何从jquery函数返回变量
- 根据是否解析了 Promise 从函数返回值
- Javascript函数返回未定义
- 如果函数返回True,则显示Javascript按钮
- Google Sheet自定义函数返回0
- 从Ajax函数返回值
- 使用for循环从Javascript中的函数返回多个值
- 谷歌地图:函数返回未定义的值在console.log中运行良好
- 从函数中的函数返回数组时出错
- 如何从嵌套的API函数返回值
- 从Mongoose结果匿名函数返回父函数
- 函数返回错误'令牌{'
- Jquery函数返回订单问题
- Mocha/Chai测试链接到函数返回断言错误
- 从异步函数返回值
- 函数返回后更新变量
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 将外部函数返回的id传递给内部函数