Math.random()方法返回介于0和l之间一个随机数,不包括0和1。对于某些站点来说,这个方法非常实用,南昌网络公司技术人员认为可以利用它来随机显示一些名人名言和新闻事件。套用下面的公式,就可以利用Math.random()从某个整数范围内随机选择一个值:
值=Math.floor(Math.random()*可能值的总数+第一个可能的值)
公式中用到了Math.floor()方法,这是因为Math.random()总返回一个小数值。而用这个小数值乘以一个整数,然后再加上一个整数,最终结果仍然还是一个小数。举例来说,如果你想选择一个1到10之间的数值,可以像下面这样编写代码:
var num=Math.floor(Math.random()*10+1);
总共有10个可能的值(1到10),而第一个可能的值是1。而如果想要选择一个介于2到10之间的值,就应该将上面的代码改成这样:
var num=Math.floor(Math.random()*9+2);
从2数到10要数9个数,因此可能值的总数就是9,而第一个可能的值就是2。多数情况下,其实都可以通过一个函数来计算可能值的总数和第一个可能的值,例如:
function selectFrom(lowervalue, upperValue) {
vat choices=upperValue-lowerValue+1;
return Math.floor(Math.random()*choices+lowerValue);
}
var num=SelectFrom(2,10);
alert(num); //介于2和10之间(包括2和10)的一个数值
函数selectFrom()接受两个参数:应该返回的最小值和最大值。而用最大值减最小值再加1得到了可能值的总数,然后它又把这些数值套用到了前面的公式中。这样,通过调用selectFrom(2,10)就可以得到一个介干2和10之间(包括2和10)的数值了。利用这个函数,可以方便地从数组中随
机取出一项,例如:
var colors=["red","green","blue","yellow","black","purple","brown"];
var color=colors[selectFrom(0,colors.1ength一1)];
alert(color); //可能是数组中包含的任何一个字符串
在这个例子中,传递给selectFrom()的第二个参数是数组的长度减l,也就是数组中最后一项的位置。
文章出自:南昌网站设计公司-百恒网络 http://www.jxbh.cn 如转载请注明出处!