JavaScript 中使用加号 ( ) 运算符进行串联与求和
JavaScript 中遇到的一个常见问题是变量的意外串联,而不是变量的串联使用加号 ( ) 运算符时的预期求和。例如,执行以下代码时,假设 i 初始化为 1:
divID = "question-" + i+1;
得到的结果是“question-11”而不是“question-2”。
这个出现这种现象是因为 plus ( ) 运算符同时处理连接和加法。当应用于不同类型的操作数时,如果一个操作数是字符串,则该运算符会优先考虑串联。因此,操作是从左到右处理的:
要获得所需的总和,请将数字表达式括在括号中:
var divID = "question-" + (i+1);
这确保首先执行 i 和 1 的加法,然后将结果 (2) 与“question-”连接起来。结果是预期的“问题 2”。
这种行为在各种编程语言中都很普遍,而不仅仅是 JavaScript。必须记住,操作执行的顺序很重要,特别是在处理多种类型的操作数和运算符时。使用括号显式控制求值顺序,防止意外结果。
以上是为什么 JavaScript 使用连接而不是使用加号 ( ) 运算符进行添加?的详细内容。更多信息请关注PHP中文网其他相关文章!