我正在this JavaScript Quiz时发现了这个问题-

"1" - - "1";


The result of this statement is 2

谁能解释这是怎么回事?

我还发现,即使使用-,也会添加字符串,但是使用-奇数减法。仅当数字是字符串时才会发生这种情况。

这里还有一些示例-

"1" - "1" => 0
"1" - - "1" => 2
"1" - - - "1" => 0
"1" - - - - "1" => 2
"a" - "b" => NaN

最佳答案

该表达式等效于"1" - (-"1")。一元减号会将其参数("1")转换为数字(1)并取其反数(-1)。二进制减号会将其参数("1"-1)转换为数字(1-1),并计算其差值(2)。

07-24 19:48