【问题标题】:Why does the "+" operator consider the number as string when added [duplicate]为什么“+”运算符在添加时将数字视为字符串[重复]
【发布时间】:2017-11-08 16:30:06
【问题描述】:

为什么+运算符在添加时会认为数字是字符串

例如:

'3' + 4 + 5;  // "345"
 3 + 4 + '5'; // "75"

【问题讨论】:

  • String + 任何总是产生字符串的东西。

标签: javascript operators


【解决方案1】:

+ 与两个数字一起使用时:数学。

+ 与字符串一起使用时:连接。

3 + 4 = 7
7 + '5' = '75'

【讨论】:

    【解决方案2】:

    + 只会在左侧有一个数字并且在右侧有一个数字时添加两个数字。

    '3' + 4 + 5;
    

    第一个'3' + 4 在左侧有一个字符串。因此它将右侧转换为字符串并将它们连接起来。

    第二个'34' + 5 在左侧有一个字符串。因此它将右侧转换为字符串并将它们连接起来。

    3 + 4 + '5';
    

    首先3 + 4 两边都有一个数字,所以它添加了它们。第二个7 + '5' 在右侧有一个字符串,因此它将左侧转换为字符串并将它们连接起来。

    【讨论】:

      【解决方案3】:

      这是 javascript 中的简单规则:

      string + number = string (operation work as a string)
      '3' + 4 + 5; = 345
      7 + '5' = 75
      number + number = number (operation work as a number)
      3 + 4 = 7
      

      【讨论】:

        【解决方案4】:

        关于“为什么”,你已经得到了答案,解决它的方法,以防你不知道或者它是否可以帮助其他人:

        var x = parseInt('3') + 4 + 5;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-16
          • 2020-04-30
          • 1970-01-01
          • 2013-10-21
          • 1970-01-01
          相关资源
          最近更新 更多