问答详情
源自:9-4 区别getElementByID,getElementsByName,getElementsByTagName

任务3中的hobby[parseInt(j)-1]

为什么要加parseInt?为什么hobby[j-1]就不行

提问者:阿拉斯加牛虫 2015-06-16 13:54

个回答

  • 316103727
    2015-06-16 14:40:17
    已采纳

    var j=document.getElementById("wb").value; 

    此时j为字符串string类型,所以要先用parseInt将其转化为数字。

    但是,js是弱类型语言,如果不显式转化,则j-1会隐式转化j为数字,再做减法。

    所以其实 hobby[j-1]和hobby[parseInt(j)-1]都是可以的。

    但是注意!

    如果是hobby[j+1]就不可以了!因为在字符串和数字做加法时,数字会被隐式转化成字符串。

    也就是说

    typeof (j+1)  //string

    typeof (j-1)  //number


  • Fday
    2015-07-01 11:24:30

    原来这样啊