【发布时间】:2013-08-12 01:49:52
【问题描述】:
当我在 javascript 中执行这个函数时,我得到一个 NaN 结果。这似乎很不合逻辑,因为此操作中使用的数组都是数字的,并且当我使用 Alert() 执行此操作时正确显示;我将代码留在这里供您监督:
function calculation_errors(){
arr_error_P_t2=new Array();
for(var i=0;i<arr_P_t1.length;i++){
var K=new Number(arr_K_t1[i]);
var P=new Number(arr_P_t1[i]);
arr_error_P_t2[i]=(Math.sqrt(1+Math.pow(m_t2,2)))*(Math.sqrt((Math.pow(1/K,2)+(Math.pow(1/P,2)))));
}
alert(arr_error_P_t2.join('\n'));
}
【问题讨论】:
-
"Number() 函数将对象参数转换为表示对象值的数字。如果该值不能转换为合法数字,则返回 NaN。"
-
这段代码是不完整的,因为它引用了我们看不到的东西。您能否在jsfiddle.net 中构建一个以类似方式发生故障的独立示例并发布链接?
-
@Paul 他肯定在访问一个不存在的数组元素。请看下面我的回答。做小提琴是一件好事,但我认为这应该可以解决问题。 :)
-
从 cmets (PRPGFerret) 看来他找到了答案。
标签: javascript arrays nan