簡體   English   中英

NaN和+ =運算符的javaScript問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM