我是菜鸟,帮我分析一下代码

zwzttlove 2012-03-02 11:14:23
var connectId = new Date().getTime()+""+parseInt(Math.random()*(9999-1000+1)+1000);
这行代码主要作用是什么?
(9999-1000+1)+1000)为什么要这样写,直接写10000不就完了吗?
...全文
181 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveairsupply 2012-03-05
  • 打赏
  • 举报
回复
为了好理解啊~~
LONGSHAOTIAN1 2012-03-04
  • 打赏
  • 举报
回复
虽然看起来一样,但是有个优先级的问题,parseInt(Math.random()*(9999-1000+1)+1000)
它应该按优先级来计算,这样结果就不一样,尤其是在C语音里面要注意!
所以说,上面几楼的看法我不太赞同
wenjun0922 2012-03-03
  • 打赏
  • 举报
回复
那几个数字 可能 以后会放 变量
leejingcn 2012-03-02
  • 打赏
  • 举报
回复
括号里面的没有其他的意义,有的话也是说适合于作者去理解,在代码层次上没意思
似梦飞花 2012-03-02
  • 打赏
  • 举报
回复
随机出一个1000到10000的随机数
Math.random()*(9999-1000+1)大概是想说明这个1000在外边加了 所以这里减去吧?这个不必纠结 个人习惯吧?
三石-gary 2012-03-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zwzttlove 的回复:]

引用 1 楼 lxk1201 的回复:
parseInt(Math.random()*(9999-1000+1)
先计算这个 再加上1000



同样的问题,为什么(9999-1000+1)不直接写成9000呢?
[/Quote]
写代码人的想法难以捉摸
zell419 2012-03-02
  • 打赏
  • 举报
回复
习惯问题吧 。是这么思考的 。
Acesidonu 2012-03-02
  • 打赏
  • 举报
回复
计算步骤吧,不很清楚。
zwzttlove 2012-03-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lxk1201 的回复:]
parseInt(Math.random()*(9999-1000+1)
先计算这个 再加上1000
[/Quote]


同样的问题,为什么(9999-1000+1)不直接写成9000呢?
小脩 2012-03-02
  • 打赏
  • 举报
回复
parseInt(Math.random()*(9999-1000+1)
先计算这个 再加上1000
暗夜螃蟹 2012-03-02
  • 打赏
  • 举报
回复
无非还是得到一个随机数
可能在实际运行中不停的DEBUG有的数不是想要的,一点点加减这都是有可能的
虽然结果一样的,但前者明显是通过了多次DEBUG写出来的公式,没有简写而已
zgh_mnb 2012-03-02
  • 打赏
  • 举报
回复
真的没有什么意义,完全可以直接写10000,写代码的人莫非玩高深?
温柔哥 2012-03-02
  • 打赏
  • 举报
回复
一般情况使用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);


这个解释应该是合理的。
「已注销」 2012-03-02
  • 打赏
  • 举报
回复
(9999-1000+1)

這樣寫我沒有發現有什麼意義

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧