这个首先我们得弄明白 Math.random() 的范围和开闭区间问题吧?文档是有说明的,它是 [0, 1) 区间的。
平移使用加减,缩放乘以系数。
//取得(n,m]范围随机数 function leftOpen(n,m) { var result = Math.random()*(m-n)+n; if(result === n) { // 把左闭合修正成右闭合 result = m; } return result; }