为什么这里加法不parseInt()时,算出来的答案是两个数相拼接,,,难道用getElementById().value提取出来的值是字符串???
获取value值进行加法运算的时候会默认字符串相连,所以会出现1+1=11这种情况。用parseInt()解析字符串返回一个整数,整数之间的“+”是运算符号,才能不会出现1+1=11这种情况。
感觉楼上的回答都不太对,如果获取的只是字符串类型,那“-”“*”“/”这三个算术运算符不用parseInt()转换都能运算,这又怎么解释?
其实“+”号在JavaScript中有两种作用,一个是字符串连接符,还有一个是算术运算符,在不指定的情况下,JavaScript默认的是第一种,也就是充当字符串连接符。
好像是那样的
直接获取到的是字符串类型,用parseInt()转换为int类型才能计算
对,是字符串类型,你可以用 typeof 测试
没错 文本框输入的都是字符串