我有一個訂單和一個JavaScript應該計算從文本總計(數量*價格),多選和單選,但我失去了一些東西,因爲我收到NaN的錯誤。有人能幫我解決嗎? 非常感謝。JavaScript的形式計算返回NaN
0
A
回答
0
像許多人評論說,有一些嚴重的不足之處,以你的代碼。我不會重複這些擔憂,但是,這些問題非常重要,您應該瞭解您正在使用的技術。
的原因,你得到一個NaN的是這樣的。你的字段對象是一個數組。代碼填充字段陣列在任意的索引,即字段並[f] = 0;
當你填充索引數組時,比如說5,你的代碼是這樣做的:fields [5] = 0;。有了這個聲明,你從一個空的數組[],到有6個條目的數組,其中前5個條目默認爲undefined [undefined,undefined,undefined,undefined,undefined,0]。
現在後面的代碼,當你做了總結,並添加條目陣列把這些(已準備使用eval一個字符串)...不確定+ 0 +未定義+ 8 ...正在製作一個非數字錯誤。
相反,以防止這種情況的一種方法是推項到域陣列,如:
if (userInputs[f].value)
{
fields.push(userInputs[f].value);
}
else
{
fields.push(0);
}
推將一個條目添加到數組的結尾。 []將成爲[0]如果你推(0)。
+0
謝謝大家的建議,我以爲我接近解決這個表格,但顯然我不是。我現在看到的唯一解決方案是深入學習JavaScript。 –
相關問題
- 1. 的Javascript距離計算返回NaN
- 2. Javascript計時器返回NaN
- 3. Javascript返回NaN
- 4. JavaScript計算器NaN
- 5. javascript日期返回的NaN NaN月NaN
- 6. 計算蟒蛇互信息返回NaN
- 7. 基本Java:方法計算返回NaN
- 8. 使用javascript計算lat long之間的距離只返回NaN
- 9. 只能得到NaN從簡單的Javascript形式返回
- 10. JavaScript表格計算返回NaN直到最後一項
- 11. Javascript計算 - NaN消息
- 12. 麻煩計算 - Javascript形式
- 13. view.calculateExtent返回[NaN,NaN,NaN,NaN]
- 14. Javascript數學返回NaN
- 15. JavaScript:函數返回NAN
- 16. JavaScript parseInt總是返回NaN
- 17. 的javascript格式日期obj轉換爲YYYY-MM-DD HH:MM:SS返回NAN-NAN-NAN
- 18. 表達正確地計算,函數返回NaN的
- 19. 成本計算表格返回值小於30,000的NaN
- 20. 計算返回帶有動態值的NaN
- 21. AngularFire 0.5.0更新後的另一個問題 - 計算返回NaN
- 22. 直角三角形計算返回0?
- 23. JavaScript的形式和在計算分數
- 24. Javascript計算返回錯誤的數字
- 25. 的JavaScript返回NaN的價值
- 26. JavaScript的總和返回NaN的錯誤
- 27. JavaScript的:返回的NaN(第2部分)
- 28. 返回NaN的JavaScript遞歸函數
- 29. 的Javascript值返回不數字(NaN)
- 30. 的Javascript:實例方法返回NAN
你應該通過閱讀和固定5個警告,JS斌表示開始。 –
整個概念是有缺陷的開始你的計算變量作爲一個字符串,然後串聯其他字符串......並期待一個數字作爲回報。使用控制檯登錄值會看到它,是個不折不扣的爛攤子 – charlietfl
你不應該嘗試解決這個爛攤子,但從頭改寫它,而無需使用'eval'。因爲現在你正在執行用戶輸入(表單域值)作爲javascript代碼!而你只是一步(接受url參數)遠離麻煩。 – migg