为什么当我使用这个:(假设 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/