前言:dom
JS沒有現成的函數,可以直接生成指定範圍的隨機數。函數
可是它有個函數:Math.random() 這個函數能夠生成 [0,1) (包括0,不包括1)的一個隨機數。spa
利用它,咱們就能夠生成指定範圍內的隨機數。code
而涉及範圍的話,就有個邊界值的問題。這樣就包含四種狀況:blog
1)min ≤ r ≤ max (通常這種比較常見)io
2)min ≤ r < maxfunction
3) min < r ≤ maxclass
4)min < r < max隨機數
1、min ≤ r ≤ maxdi
function RandomNumBoth(Min,Max){ var Range = Max - Min; var Rand = Math.random(); var num = Min + Math.round(Rand * Range); //四捨五入 return num; }
2、min ≤ r < max
function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); var num = Min + Math.floor(Rand * Range); //捨去 return num; }
3、min < r ≤ max
function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); if(Math.round(Rand * Range)==0){ return Min + 1; } var num = Min + Math.round(Rand * Range); return num; }
4、min < r < max
function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); if(Math.round(Rand * Range)==0){ return Min + 1; }else if(Math.round(Rand * Max)==Max) { index++; return Max - 1; }else{ var num = Min + Math.round(Rand * Range) - 1; return num; } }