为什么{10 +'1'} + 10等于10?

时间:2012-03-28 14:33:20

标签: javascript

  

可能重复:
  JavaScript BlockStatement confusion

为什么{10 + '1'} + 10等于10?

我猜测1不起作用,因为它在字符串中但不确定其余部分。

3 个答案:

答案 0 :(得分:12)

此:

{10 + '1'}

是一个语句块。它不等于10;事实上根本没有价值值“101”,一个字符串(每天学习一些无用的东西:-)。它尤其不是一个对象。

此:

+ 10

等于10。

试试这个:

({10 + '1'}) + 10

你会发现不同之处。

答案 1 :(得分:2)

这是因为忽略了{}内的所有代码。 {}中的代码是一个运行的表达式,然后忽略它的“值”。

所以{10 + '1'} + 10只是+1010

答案 2 :(得分:0)

您可能想要做的是:

(10 + '1') + 10

不要在Math中使用{} - use()