日期:2014-05-16  浏览次数:20362 次

我是菜鸟,帮我分析一下代码
var connectId = new Date().getTime()+""+parseInt(Math.random()*(9999-1000+1)+1000);
这行代码主要作用是什么?
(9999-1000+1)+1000)为什么要这样写,直接写10000不就完了吗?

------解决方案--------------------
一般情况使用Math.random(最大数-最小数)+最小数
蛋疼的解释:
估计是, 一开始是想取1000到9999之间的随机数。
所以一开始估计是这样写的

var connectId = new Date().getTime()+""+parseInt(Math.random()*(9999-1000)+1000);

后来想取到1000到10000之间的随机数,所以为了偷懒,直接写成了。

var connectId = new Date().getTime()+""+parseInt(Math.random()*(9999-1000+1)+1000);


这个解释应该是合理的。
------解决方案--------------------
虽然看起来一样,但是有个优先级的问题,parseInt(Math.random()*(9999-1000+1)+1000)
它应该按优先级来计算,这样结果就不一样,尤其是在C语音里面要注意!
所以说,上面几楼的看法我不太赞同