好程序员web前端教程分享JavaScript Math(算数)对象,这里小编每天也会分享一下干货给大家。那么今天说道的就是好程序员web前端培训课程中的章节。
JavaScript Math(算数) 对象
Math(算数)对象的作用是:执行常见的算数任务。
在线实例
round()
如何使用 round()。
random()
如何使用 random() 来返回 0 到 1 之间的随机数。
max()
如何使用 max() 来返回两个给定的数中的较大的数。(在 ECMASCript v3 之前,该方法只有两个参数。)
min()
如何使用 min() 来返回两个给定的数中的较小的数。(在 ECMASCript v3 之前,该方法只有两个参数。)
Math 对象
Math(算数)对象的作用是:执行普通的算数任务。
Math 对象提供多种算数值类型和函数。无需在使用这个对象之前对它进行定义。
使用Math的属性/方法的语法:
var x=Math.PI;
var y=Math.sqrt(16);
注意: Math对象无需在使用这个对象之前对它进行定义。
算数值
JavaScript 提供 8 种可被 Math 对象访问的算数值:
你可以参考如下Javascript常量使用方法:
Math.E
Math.PI
Math.SQRT2
Math.SQRT1_2
Math.LN2
Math.LN10
Math.LOG2E
Math.LOG10E
算数方法
除了可被 Math 对象访问的算数值以外,还有几个函数(方法)可以使用。
下面的例子使用了 Math 对象的 round 方法对一个数进行四舍五入。
document.write(Math.round(4.7));
上面的代码输出为:
5
下面的例子使用了 Math 对象的 random() 方法来返回一个介于 0 和 1 之间的随机数:
document.write(Math.random());
上面的代码输出为:
0.4321440459646637
下面的例子使用了 Math 对象的 floor() 方法和 random() 来返回一个介于 0 和 11 之间的随机数:
document.write(Math.floor(Math.random()*11));
上面的代码输出为:
5
JavaScript Boolean(布尔)对象
JavaScript RegExp 对象
1 篇笔记
whi***08@outlook.com
对于伪随机数,JS 有很多种玩法来生成我们所需要的伪随机数。
根据上下限生成随机数:
var rand = (min,max) => Math.round(Math.random()*(max-min))+min;
//Max为最大值,Min为最小值
根据概率随机生成 bool 值:
function randBool(percent=0.5){
//percent为概率,默认0.5(50%)。
if(Math.random()<percent)//如果随机数小于概率值,返回true,否则返回false。
return true;
else
return false;
}
随机生成指定字符:
function randChar(length,characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"){
//length为所需长度,characters为所包含的所有字符,默认为字母+数字。
characters=characters.split("");//分割字符。
result="";//返回的结果。
while(result.length<length) result+=characters[Math.round(Math.random()*characters.length)];
return result;
}
随机生成字符的另一种玩法:
function randCharAnother(length,rangeMin=0x80,rangeMax=0x7FF){
//length长度,rangeMin为最小Unicode码,rangeMax为最大Unicode码。
result="";
while(result.length<length) result+=String.fromCharCode(Math.round(Math.random()*(rangeMax-rangeMin))-rangeMin);
return result;
}
随机从数组中取出一个东东:
Array.prototype.pick = function(){
//不能为 ()=>{/*函数*/},否则this会指向Window。
return this.length?Math.round(Math.random()*(this.length-1)):undefined;//如果长度为0,返回undefined。
}