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

来源:9-4 区别getElementByID,getElementsByName,getElementsByTagName

阿拉斯加牛虫

2015-06-16 13:54

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

写回答 关注

2回答

  • 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


    Chacet...

    赞!!!

    2015-07-14 14:52:52

    共 1 条回复 >

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

    原来这样啊

JavaScript进阶篇

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

468728 学习 · 22064 问题

查看课程

相似问题