课程
/前端开发
/JavaScript
/JavaScript进阶篇
为什么这里加法不parseInt()时,算出来的答案是两个数相拼接,,,难道用getElementById().value提取出来的值是字符串???
2016-03-28
源自:JavaScript进阶篇 6-11
正在回答
获取value值进行加法运算的时候会默认字符串相连,所以会出现1+1=11这种情况。用parseInt()解析字符串返回一个整数,整数之间的“+”是运算符号,才能不会出现1+1=11这种情况。
感觉楼上的回答都不太对,如果获取的只是字符串类型,那“-”“*”“/”这三个算术运算符不用parseInt()转换都能运算,这又怎么解释?
其实“+”号在JavaScript中有两种作用,一个是字符串连接符,还有一个是算术运算符,在不指定的情况下,JavaScript默认的是第一种,也就是充当字符串连接符。
好像是那样的
直接获取到的是字符串类型,用parseInt()转换为int类型才能计算
对,是字符串类型,你可以用 typeof 测试
没错 文本框输入的都是字符串
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
2 回答parseInt()
1 回答parseInt
1 回答parseInt()
15 回答parseInt