Это не проблема как таковая - более общий запрос.Непосредственно установка переменной в виде числа дает 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 –