【问题标题】:Why is "1" + + "1" = "11" but "1" - - "1" = 2 in JavaScript为什么 JavaScript 中的 "1" + + "1" = "11" 但 "1" - - "1" = 2
【发布时间】:2018-06-08 19:53:46
【问题描述】:

今天,我的同事告诉我一件有趣的事情。基本上,他在谷歌浏览器中打开控制台(Ctrl+shift+I)并输入以下内容:

"1" + + "1" 

(请注意运算符之间的空格) 这给出了"11" 的结果,这是字符串,我完全理解。

但是,当输入为

"1" - - "1"  

控制台回复2

我也试过了

"1" - - "4" 

和控制台输出5

还有,

"1" - + "4"

给出输出-3

我理解逻辑,但不知道这些运算符的工作原理。

任何解释将不胜感激。

提前致谢。

【问题讨论】:

  • 用什么语言? JavaScript、PHP、Perl 和其他规则之间的规则差异很大。这可能是wat 的情况。
  • 我猜是 JavaScript,因为它在我的 google chrome 控制台上,但我不太确定。
  • 可以加字符串,但不能减字符串,所以Javascript将它们转换为数字。

标签: javascript operators unary-operator


【解决方案1】:

- 运算符对字符串没有意义,因此它将值转换为 Number

【讨论】:

    猜你喜欢
    • 2014-11-11
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多