Javascript (+) 符号连接而不是给出变量的总和

标签 javascript math

为什么当我使用这个:(假设 i = 1)

divID = "question-" + i+1;

我得到了question-11 而不是question-2

最佳答案

改用这个:

var divID = "question-" + (i+1)

这是一个相当普遍的问题,不仅仅发生在 JavaScript 中。这个想法是 + 可以表示 连接和加法。

由于 + 运算符将从左到右处理,因此代码中的决定如下所示:

  • "question-"+ i:由于 "question-" 是一个字符串,我们将进行连接,得到 "question-1"
  • "question-1"+ 1:由于 "queston-1" 是一个字符串,我们将进行连接,得到 "question-11 ".

"question-"+ (i+1) 是不同的:

  • 由于 (i+1) 位于括号中,因此必须在应用第一个 + 之前计算其值:
    • i 是数字,1 是数字,所以我们将做加法,得到 2
  • "question-"+ 2:由于 "question-" 是一个字符串,我们将进行连接,得到 "question-2"

关于Javascript (+) 符号连接而不是给出变量的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5961000/

相关文章:

javascript - 重用具有不同样式的 React 组件

PHP 相当于 javascript 中的 Date.UTC 函数?

C# 数学应用程序的哪种数字类型?

math - float 学坏了吗?

swift - 为什么我不能在 Swift 的 reduce 中正确地划分整数?

java - 浏览器如何打开保存的 html 页面

javascript - 对 JavaScript 对象数组进行排序, typescript 错误

javascript - 一段时间内的玩家交互 JavaScript

c - 3d 加速度计计算方向

c++ - C/C++ 中整数除法的快速上限