当我有一个加号时,我得到错误的答案,例如

var b = [069];
var total = 0;

total = total + b
console.log(total) // total = 069

但是,当我加上第二个加号时,等式如下所示
total = total + + b  // total = 69

我得到69的正确答案。上面只是我问题的简化示例。

这可以正常工作,但是在使用JSHint时,我收到警告说
confusing pluses

不使用+ +怎么获得正确答案?另外,这个运算符叫什么?

最佳答案

发表我的评论作为答案

如果我正确的话,变量前面的+会将其转换为数字。

在您的控制台中尝试以下操作:
"5"将返回"5"(字符串),其中
+"5"将返回5(数字)。

您可以使用total = parseInt(total) + parseInt(b);来获得正确的结果,因为parseInt()会尝试从其获取的任何输入参数中得出一个数字。

从理论上讲,您可以将total解析为一个数字,但是很容易出现类似于"1" + "0" = "10"的错误,导致10,从数学上来说应该是1

07-24 09:45
查看更多