小编典典

Javascript(+)符号串联在一起,而不是给出变量总和

javascript

为什么使用此功能:(假设i = 1

divID = "question-" + i+1;

我得到 问题11 而不是 问题2


阅读 248

收藏
2020-04-25

共1个答案

小编典典

使用此代替:

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"
2020-04-25