【问题标题】:Sum numbers returns NaN数字总和返回 NaN
【发布时间】:2016-07-05 14:25:22
【问题描述】:

我正在尝试对 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),但结果是一样的。

【问题讨论】:

标签: javascript jquery each nan


【解决方案1】:

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

var numbers, sumNumbers = 0;

【讨论】:

  • 天啊,太简单了!谢谢!
【解决方案2】:

试试这个

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);

【讨论】:

    猜你喜欢
    • 2020-07-14
    • 2020-07-26
    • 2012-04-28
    • 1970-01-01
    • 2015-11-26
    • 2013-07-11
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多