JS中IF的逻辑问题
我通过JS调用WordPress的API。
number的值有时候时00,我想把这些值为00的,都变为0,这样就可以求和了。
大概代码如下:
var sum = 0;
for (i = 0; i < postsData.length; i++) {
var x =postsData[i].number;
if (x === "00") {
x= 0;
sum += x;
} else {sum += x;}
}
但结果是错误的,当number是00时,则不显示求和结果,也没有错误提示.
补充:
求和的代码大概是这样的:
if (sum > 0 ) { document.getElementById("test").innerHTML = sum; }
原始代码比较复杂,是一个Nested loop.
number是字符串。
当number的值都不是两个零时,计算结果正确。
但当number的其中一个值为两个零时,不显示计算结果,也没有错误提示。我感觉是if这块写错了。当一个函数等于某个值时,可以再给这个函数赋予另一个值吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
+操作符在JS中,有如下规则
按照描述,你已经能确定postsData[i].number一定是数字,及时不是数字类型,也是字符串类型的数字。这样,只要把这个制转换成数字就可以实现你说的功能了,忽略
00
,将所有的值都转换,确保值一定是数字类型。注意知识点,js中字符串转数字最简单的方法,可以直接用+、-实现,由于-会是数值变号,所以建议使用+。
如果想数字求和,其实用Number对象,或者文本转数字parseInt显式转换处理后更好。