问答详情
源自:7-23 编程练习

求大牛来解惑

Math.round();不是返回一个0到1的随机数吗?怎么是四舍五入???另外,split(";")为什么输出的结果是以逗号(')隔开的?????indexOf(":")在代码中的作用是什么??为何还要加1?输出月份的时候也是要加1????哪位大牛能解答??



提问者:宝慕林5178646 2015-03-25 20:13

个回答

  • derrick9006
    2015-03-25 22:03:28
    已采纳

    1) Math.round()其实是把有小数点的数目四舍五入不是返回1或0不要误会,文献 http://www.w3school.com.cn/jsref/jsref_round.asp 

    2)split的问题

    源码:var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

    我们要把源码分开唯一的方法就是拿掉“;”

    • 小明:87

    • 小花:81

    • 小红:97

    • 小天:76

    • 小张:74

    • 小小:94

    • 小西:90

    • 小伍:76

    • 小迪:64

    • 小曼:76

    所以split(";")是用 ";",那么为什么输出是逗号呢?因为” document.write(scoreArray+"<br/>");“的”scoreArray“是一整串记录,这记录是以逗号来记录的。

    3)为什么indexOf(":")是用":"因为他要得到号码不要其他的资料因为”scoreArray“的每一个记录都是这样

    小明:87

    小花:81

    小红:97

    小天:76

    小张:74

    小小:94

    小西:90

    小伍:76

    小迪:64

    小曼:76

    要拿到号码唯一的方法就是把文字和数字分开唯一的分开媒介就是":"

    那么为什么要加一。我们必须知道”parseInt(scoreArray[i].substr(scoreArray[i].indexOf(":")+1))“是什么意识

    scorearray[i].indexof(":")打个比方我们会得到 ":"的位置 

    比如 ”小曼:76“我们得到2。第一个string的位置以零开始如以下

    小曼 : 7 6

    0  1 2 3 4

    “scoreArray[i].substr”是把特定位置的字串拿出来,所以 “小曼:76”这个资料就是这样解读

    parseInt(scoreArray[i].substr(scoreArray[i].indexOf(":")+1))

    scoreArray[i].substr(scoreArray[i].indexOf(":")+1) -> 小曼 : 7 6 拆出来的位置从3开始 

    为什么是四? 因为scoreArray[i].indexOf(":")我们得到2+1所以得到四

     小曼:76

    从第四位置开始拆开所以得到76因为第一个位置是零

    4)那么月份为什么要加一

    很简单因为getMonth()的一月是零,二月是一以此类推。所以必须加一


    希望你能看懂,谢谢