js只有一个Math.random() 函数返回一个浮点, 伪随机数在范围[0,1)。
Math.ceil() Math.floor() Math.round()
Math.random() * 10
|
生成[0,10]的随机整数,Math.round(Math.random() * 10) ,通过四舍五入可以将大于9.5的数值转换为10;
生成[0,10)的随机整数,Math.floor(Math.random() * 10 );
生成(0,10]的随机整数,Math.ceil(Math.random() * 10 );
min ≤ r ≤ max
function Random(min, max) { return Math.round(Math.random() * (max - min)) + min; }
|
min< r ≦ max
function Random(min, max) { return Math.ceil(Math.random() * (max - min)) + min; }
function Random(min, max) { return Math.round(Math.random() * (max - min)) === 0? (min+1):Math.round(Math.random() * (max - min)) + min; }
|
min≦ r < max
function Random(min, max) { return Math.floor(Math.random() * (max - min)) + min; }
function Random(min, max) { return Math.round(Math.random() * (max - min)) === max ? (max-1):Math.round(Math.random() * (max - min)) + min; }
|
min < r < max
function Random(min, max) { return Math.floor(Math.random() * (max - min)) === min ? (min + 1) : Math.floor(Math.random() * (max - min)) + min; }
function Random(min, max) { return Math.floor(Math.random() * ((max-1) - (min+1))) + (min+1);相当于 min+1 ≤ r ≤ max - 1 }
|