为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Javascript(+)符号连接而不是给出变量的总和为什么当我使用它:(假设i = 1)divID = "question-" + i+1;我得到问题11而不是问题2?
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

请改用:

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"


查看完整回答
反对 回复 2019-07-27
?
跃然一笑

TA贡献1826条经验 获得超6个赞

你也可以用这个

divID = "question-" + (i*1+1);

确保i转换为整数。


查看完整回答
反对 回复 2019-07-27
?
九州编程

TA贡献1785条经验 获得超4个赞

仅限使用:

divID = "question-" + parseInt(i) + 1;

当“n”来自html输入字段或声明为字符串时,您需要使用显式转换。

var n = "1"; //type is stringvar frstCol = 5;lstCol = frstCol + parseInt(n);

如果“n”是整数,则不需要转换。

n = 1; //type is intvar frstCol = 5, lstCol = frstCol + n;


查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 521 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信