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

解决方案 »

  1.   

    parseInt(Math.random()*(9999-1000+1)
    先计算这个   再加上1000
      

  2.   

    随机出一个1000到10000的随机数
    Math.random()*(9999-1000+1)大概是想说明这个1000在外边加了  所以这里减去吧?这个不必纠结 个人习惯吧?
      

  3.   

    一般情况使用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);
    这个解释应该是合理的。
      

  4.   

    无非还是得到一个随机数
    可能在实际运行中不停的DEBUG有的数不是想要的,一点点加减这都是有可能的
    虽然结果一样的,但前者明显是通过了多次DEBUG写出来的公式,没有简写而已
      

  5.   

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