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()绝对值。负变正。

 

posted @ 2018-06-12 18:52  bibiguo  阅读(222)  评论(0)    收藏  举报