当我有一个加号时,我得到错误的答案,例如
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
。