day-9.3 JS自带的API(关于数字)
API1: isNaN();
判断数据是否是NaN;
1 console.log(isNaN(Number("15"))) ; //is no NaN , false;
"15"经过Number转换后,用isNaN判断,结果是false;
也可以改写成:
1 console.log(isNaN("234")); //输出false,isNaN在做判断前,会先进行一个Number的转换 2 console.log(isNaN(0)); //输出false 3 console.log(isNaN("ahhahah"));//输出true
NaN还有一个诡异的特点,即NaN和自己都不相等
1 console.log(NaN===NaN); //false 2 console.log(NaN==NaN); //false
API2: parseInt () 强制取整,parseFloat () ;强制取数(可以取到小数);
1、parseInt,对数据进行强制取整数值,从第一个可以转成数字的字符开始,到最后一个可以转换为数字的字符结束,如果不可以转换成数字,则返回NaN
1 var a = "123124hahaha"; //输出123124 2 var a = "10.55hahah1231421"; //输出10 3 var a = "hahahahah";//输出NaN 4 var b = parseInt(a); 5 console.log(b);
2、parseFloat ,对于数据进行强制取数,相对于parseInt不同的是,parseFloat可以取小数
1 var a = "10.5123hahaha" ; //输出10.5123 2 var b = parseFloat(a); 3 console.log(b) ;
API3 ; Math 对象
Math 是一个对象,存了很多数学的属性。比如Math.PI ,输出的是圆周率
可以用Math这个对象的很多属性来属性一些精度要求很高的数学运算
1 console.log(Math.PI); //输出圆周率
Math.max(); 返回参数的最大值
Math.min(); 返回参数的最小值
1 console.log(Math.max(3,4,5,6,"155")); //输出155 2 console.log(Math.max(4,5,6,7,8)); //输出4
Math.max()和Math.min()的传参都为数字,当遇到数组的时候可以用apply来实现在数组里面筛选最大数的需求。
举例:
1 var arr = [1,2,3,4,5,6], 2 max = Math.max.apply (null,arr); //apply是在函数执行的时候添加的一个API,对函数执行没有影响,只是修改了this的指向,同时函数执行的时候的传参改为数组传参。
API4:
Math.floor() :向下取整
Math.ceil():向上取整
Math.round():四舍五入
1 console.log(Math.floor(10.2));//输出10 2 console.log(Math.ceil(10.2));//输出11 3 console.log(Math.round(10.2));//输出10
API5:
Math.random();0到1之间的随机数,不接收任何参数;
当需要更大范围区间的时候,只需要乘以相应倍数就可以了
比如:
1 var a = Math.random()*10; //0到1的随机数*10,变成0到10的随机数; 2 var b = Math.floor(Math.random()*10); //和取整结合使用;不能用cell,会取到贴边值(比如整数)。 3 var c = Math.random()*7+10 //统计11到17的随机数。 由于向上取整,10取不到。
API6:
Math.abs()绝对值。负变正。
浙公网安备 33010602011771号