求大牛来解惑
Math.round();不是返回一个0到1的随机数吗?怎么是四舍五入???另外,split(";")为什么输出的结果是以逗号(')隔开的?????indexOf(":")在代码中的作用是什么??为何还要加1?输出月份的时候也是要加1????哪位大牛能解答??
2015-03-25
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()的一月是零,二月是一以此类推。所以必须加一
希望你能看懂,谢谢
举报