Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的小数,即[0.0,1.0)。
Math.floor()返回小于参数x的最大整数,即对浮点数向下取整,比如Math.floor(3.8)为3。
随机值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值)
可等价于:
随机值 = parseInt(Math.random() * 可能值的总数 + 第一个可能的值)
例如:产生2-10的随机数(可能值有9个)。si
var rand = Math.floor(Math.random() *(10-2+1)+ 2)
总结:产生随机整数的函数代码
function getRandom(min,max){
return Math.floor(Math.random() *(max-min+1)+ min)
}
名字数组 nameArray = ['刘备','曹操','关羽','张飞','吕布','孙权']
代码如下:
function getName(){
let nameArray = ['刘备','曹操','关羽','张飞','吕布','孙权']
let random = getRandom(0,nameArray.length-1)
return nameArray[random]
}
例:随机产生2或5中的一个数
代码:var rand = Math.random() < 0.5 ? 2 : 5
parseInt()函数可以将字符串转换成一个整数,与Number()函数相比,parseInt()函数不仅可以解析纯数字字符串,也可以解析以数字开头的部分数字字符串(非数字部分字符串在转换过程中会被去除)。
(1)如果第一个字符不是数字字符或者负号,parseInt()就会返回NaN; 也就是说,用parseInt()转换空字符串会返回NaN。
(2)如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了一个非数字字符。
(3)如果字符串以”0x”开头且后跟数字字符,就会将其当作一个十六进制整数。
(4)如果字符串以”0”开头且后跟数字字符,就会将其当作一个八进制整数。
(5)parseInt()函数增加了第二参数用于指定转换时使用的基数(即多少进制)。
(6)当parseInt()函数所解析的是浮点数字符串时,取整操作所使用的方法为“向下取整”。