数字总和 returns NaN

Sum numbers returns NaN

我正在尝试对 div 中的数字求和,所以,我做了:

$(document).ready(function() {
    var numbers, sumNumbers;

    $(".item").each(function() {
   numbers = $(this).children().text();
        numbers = +numbers;
    
        sumNumbers += numbers;
    });
  
    console.log(sumNumbers);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="item">
  <span class="itemNum">0</span>
</div>

<div class="item">
  <span class="itemNum">2</span>
</div>

<div class="item">
  <span class="itemNum">1</span>
</div>

但是,使用 +numbersnumbers 从文本转换为数字同样返回 NaN,为什么?我也已经尝试过 Number(numbers) 但结果是一样的。

你没有初始化sumNumbers,所以你得到undefined+一个数字=NaN

var numbers, sumNumbers = 0;

试试这个

var numbers=0, sumNumbers=0; //initilize numbers & sumNumbers;

$(".item").each(function () {
    numbers = $(this).children().text() * 1; // *1 convert string to number

    sumNumbers += numbers;
});

console.log(sumNumbers);