javascript - Math.random 究竟含义为何?
怪我咯
怪我咯 2017-04-11 10:49:22
[JavaScript讨论组]
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
PHP中文网
Math.round(Math.random() * 1000)

表示产生一个随机数并把它放大1000倍再取整,即生成0~1000之间的随机整数。

((Math.random() * 10 + 5).toFixed(1) - 0)

表示产生一个5到15之间,包含一位小数的随机数。
分步解释一下,先产生一个随机数把它乘以10再加上5,即生成5~15的随机数,然后调用toFixed转换成保留1位小数的字符串形式,最后减0是做了隐式转换,把字符串再转换为数字。

天蓬老师

Math.random() * 1000 返回一个 0 - 1000 的随机数(包含小数点)
Math.round(Math.random() * 1000) 返回一个 0 -1000的整数

Math.random() * 10 返回一个 0 - 10 的随机数
Math.random() * 10 + 5 返回一个 5 - 15 的随机数
(Math.random() * 10 + 5).toFixed(1) 返回一个保留小数点后一位的 5 - 15 的随机数字符串!
(Math.random() * 10 + 5).toFixed(1) - 0 把字符串转化为Number

黄舟

The Math.random() function returns a floating-point, pseudo-random number in the range [0, 1] that is, from 0 (inclusive) up to but not including 1 (exclusive), which you can then scale to your desired range.

Math.random() 产生一个有 N 位小数的伪随机数,范围为 [0, 1)(左闭右开)

n * Math.random() 产生一个 范围为 [0, n) 的随机数,小数为 N - floor(lg(n)) 位

((Math.random() * 10 + 5).toFixed(1) - 0)

其实可以用

Math.floor((Math.random() * 10 + 5) * 10) / 10

替代,其值域为 [5, 15),小数为 1 位

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号