问答详情
源自:6-11 编程练习

parseInt()

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

提问者:哈喽姑娘 2016-03-28 18:05

个回答

  • 大年糕
    2017-01-01 18:39:29

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

  • 策神
    2016-03-28 20:42:10

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

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

  • angi
    2016-03-28 18:44:57

    好像是那样的

  • 绾绾0
    2016-03-28 18:41:32

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

  • Kanon
    2016-03-28 18:40:57

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

  • seven_darling
    2016-03-28 18:32:23

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