[英]javaScript problems with NaN and += operator
首先,感謝您抽出寶貴的時間。 我正在為啤酒制作使用IBU計算器。 請參閱下面的評論。 parseB是轉換為數字的文本輸入,我已經看到ibuFinal的類型是數字,而inBU [i]也是數字。 為什么要返回楠?
var AAU=[];
var og=1.050;
for(var i=0;i<6;i++){
util[i]=(1.65*Math.pow(0.000125, og-1))*(1-Math.exp(-0.04*parseB[i]))/4.15;;
}
function aau(){
for(var i=0;i<6;i++){
AAU[i]=weight[i]*alpha[i];
}
return AAU;
}
function ibu(){
var alphaAcid=aau();
var inBU=[];
var ibuFinal;
for(var i=0;i,alphaAcid.length;i++){
inBU[i]=alphaAcid[i]*util[i]*75/batchSize;
ibuFinal+=inBU[i];//returns NaN for some reason!!
}
alert(ibuFinal);
}
ibu();
您永遠不會定義ibuFinal
,所以它是undefined
。
JavaScript的附加類型強制確定了undefined + 1
(或任何數字)是NaN
。 (用EMCAScript術語來說, ToNumber(undefined)
是NaN
,並且NaN
加任何東西都是NaN
。)
確保將ibuFinal
初始化為零: var ibuFinal = 0;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.