Math是数学函数,但又属于对象数据类型typeof Math=>‘object’
console.dir(Math)查看Math的所有函数方法。
1,Math.abs()获取绝对值
Math.abs(-12) = 12
2,Math.ceil() and Math.floor()向上取整和向下取整
console.log(Math.ceil(12.03))//13
console.log(Math.ceil(12.92))//13
console.log(Math.floor(12.3))//12
console.log(Math.floor(12.9))//12
3,Math.round()四舍五入
注意:正数时,包含5是向上取整,负数时包含5是向下取整。
1、Math.round(-16.3) = -16
2、Math.round(-16.5) = -16
3、Math.round(-16.51) = -17
4,Math.random()取[0,1)的随机小数
案例1:获取[0,10]的随机整数
console.log(parseInt(Math.random()*10))//未包含10
console.log(parseInt(Math.random()*10+1))//包含10
案例2:获取[n,m]之间的随机整数
Math.round(Math.random()*(m-n)+n)
5,Math.max() and Max.min()获取一组数据中的最大值和最小值
console.log(Math.max(10,1,9,100,200,45,78))
console.log(Math.min(10,1,9,100,200,45,78))
6,Math.PI获取圆周率π 的值
console.log(Math.PI)
7,Math.pow() and Math.sqrt()
Math.pow()获取一个值的多少次幂
Math.sqrt()对数值开方
Math.pow(10,2) = 100
Math.sqrt(100) = 10
function getRnd(num,min,max){ //产生指定范围和数量的随机整数var a=[]
for(var i=0i<numi++){
a[i]=parseInt(Math.random()*(max-min+1))+min
}
return a
}
function getMyRnd(){ //生成5个两两间差值不小于10的1到100之间的随机数
ks:while(1){
var ma=getRnd(5,1,100)
for(var i=0i<ma.length-1i++){
for(var j=i+1j<ma.lengthj++){
if(Math.abs(ma[i]-ma[j])<10)continue ks
}
}
return ma
}
}
console.log(getMyRnd())
【总结内置过滤器的使用方式】(1)在HTML中一般格式为: {{被过滤的数据 | 过滤器名称:条件1:条件2.。。。}};过滤条件之间用‘:'隔开.
(2)在代码中一般格式为: 变量 = $filter("过滤器名称")(被过滤数据,过滤条件1,过滤条件2,。。。。。。)
【自定义过滤器】
(1)定义格式:
model.filter(filterName,function(){
return function(参数1,参数2,参数3.。。。。参数N){
//过滤器处理部分
}
})
model:模块名称
filterName: 过滤器名称
参数1:被过滤的数据
参数2:一般为过滤条件,可以有多个,后面的参数3一直到参数N都是,根据需要添加。