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

parseInt()

为什么这里加法不parseInt()时,算出来的答案是两个数相拼接,,,难道用getElementById().value提取出来的值是字符串???

正在回答

7 回答

获取value值进行加法运算的时候会默认字符串相连,所以会出现1+1=11这种情况。用parseInt()解析字符串返回一个整数,整数之间的“+”是运算符号,才能不会出现1+1=11这种情况。

0 回复 有任何疑惑可以回复我~

感觉楼上的回答都不太对,如果获取的只是字符串类型,那“-”“*”“/”这三个算术运算符不用parseInt()转换都能运算,这又怎么解释?

其实“+”号在JavaScript中有两种作用,一个是字符串连接符,还有一个是算术运算符,在不指定的情况下,JavaScript默认的是第一种,也就是充当字符串连接符。

1 回复 有任何疑惑可以回复我~

好像是那样的

0 回复 有任何疑惑可以回复我~

直接获取到的是字符串类型,用parseInt()转换为int类型才能计算

0 回复 有任何疑惑可以回复我~

对,是字符串类型,你可以用 typeof 测试

0 回复 有任何疑惑可以回复我~

没错 文本框输入的都是字符串

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468061    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程
意见反馈 帮助中心 APP下载
官方微信