這不是一個問題 - 更多的一般性查詢。不明確設置變量作爲一個數字產生NaN與隨後的數學函數
以下(工作代碼)循環顯示購物車物品表格,提取每個物品的價格和數量,並將結果添加到變量「cartTotal
」中。
function updateCart(){
var cartTotal = 0;
jQ('#cartItems').find('tr').each(function(){
$this = jQ(this);
var price = $this.find('.itemPrice').text();
price = Number(price.replace(/[^0-9\.]+/g,""));
var qty = $this.find('input').val();
var itemTotal = (price * qty);
cartTotal += itemTotal;
});
console.log(cartTotal);
};
起初,我宣佈cartTotal沒有給它的值爲0 - 我認爲用JavaScript作爲鬆散類型,它會「知道」 cartTotal是一個數字,只要數字被添加到它,因爲這是我從我讀過的各種帖子/文章中領悟到了什麼。但控制檯記錄了NaN。
也許我已經採取了「鬆散類型」功能有點太字面。有人可以點亮一下,爲什麼不給它一個初始值產生NaN?
因此,一個變量聲明(沒有值)總是被賦予null? – verism
它不是null! – epascarello
哎呀抱歉,謝謝@epascarello,滑過去了:P –