为了账号安全,请及时绑定邮箱和手机立即绑定

求大牛来解惑

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



正在回答

1 回答

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()的一月是零,二月是一以此类推。所以必须加一


希望你能看懂,谢谢

1 回复 有任何疑惑可以回复我~
#1

aurayang

indexOf(":")+1这块还是没看懂。。。。。。
2015-04-08 回复 有任何疑惑可以回复我~
#2

我就是如此孩子气 回复 aurayang

我也是不大懂indexOf(":")+1,而且我觉得不一定要定义一个index的变量,那一行去掉,觉得那一行只是为了说明indexOf的用法,直接写sum+=parseInt(arr[i].substr(3, 2));不行么,执行结果也是一样的
2015-06-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468190    人
  • 解答问题       21891    个

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

进入课程

求大牛来解惑

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信