Javascript 返回NaN错误的函数中的变量
我试图将两个参数传入一个函数。我想取参数“item”并除以参数“sum”,然后乘以100,并对得到的数字进行四舍五入。但是,我存储结果的变量“百分比”表示它是NaN。你知道是什么导致了这一切吗Javascript 返回NaN错误的函数中的变量,javascript,html,function,variables,Javascript,Html,Function,Variables,我试图将两个参数传入一个函数。我想取参数“item”并除以参数“sum”,然后乘以100,并对得到的数字进行四舍五入。但是,我存储结果的变量“百分比”表示它是NaN。你知道是什么导致了这一切吗 function calcPercent(item, sum) { var percent = item / sum; percent = percent * 100; return Math.round(percent); } 在我的i
function calcPercent(item, sum)
{
var percent = item / sum;
percent = percent * 100;
return Math.round(percent);
}
在我的ide中调试代码时,item=Array[3]和sum=94000假设
item
和sum
实际上是数字,则此代码应该可以工作。事实上,它甚至会将字符串转换为数字来帮助您。如果item
或sum
未定义,或者如果其中一个都是类似数组的某种对象,则它将不起作用。您应该确保知道传递给此函数的内容。函数中的快速控制台.log(item,sum)
可能有助于确定这些值是什么。当/
的一个操作数不是数字时,就会发生这种情况。请显示calcPercent
的调用站点,或者至少打印item
和sum
作为calcPercent
的第一行,以确保它们都是数字。在我的ide中调试代码时,item=Array[3]和sum=94000在我的ide中调试代码时,item=Array[3]和sum=94000,这是个问题item
不是数字,当您试图将数组除以整数时,javascript不知道该怎么做。该数组中是否有您需要使用的特定值?也许您想找到数组中每个值的百分比。在这种情况下,您可以使用forEach
或for
对其进行循环,并将每个值发送到函数。是的,我需要获取数组中每个项的百分比,因此for循环可能适用于我。