1 Math对象

1.1定义:Math是js的一个内置对象,它提供了一些数学方法.

1.2特性:不能用构造函数的方式创建,无法初始化,只有静态属性和方法

1.3静态属性

1.3.1 Math.PI 圆周率 π=3.1415926...

1.4静态方法

1.4.1 Math.sin(x) 正弦值

参数:弧度 x=Math.PI/180*deg

1.4.2 Math.cos(x) 余弦值

1.4.3 Math.tan(x) 正切值

1.4.4 Math.random() 返回0~1间随机数

参数:无

返回值:返回0~1之间的随机数,包含0,不包含1,范围[0,1)

示例:

Math.random(); //  0.8982374747283757
Math.random(); // 0.39617531932890415

1.4.5 Math.round(value) 四舍五入取整

参数:数字或纯数字的字符串

返回值:整数,若参数错误,返回NaN

四舍五入取整:实质上取的是最靠近的值;且无论正数负数,进位的值是相邻的正无穷方向上的数

换种方法理解,正数中,舍去的"四"是较小的值,范围是(0,0.5) ;进位的"五"是较大的值,范围是[0.5,1);

负数中,舍去的"四"同样是较小的值,但范围变为(-1,-0.5) ;进位的"五"是较大的值,范围是(0,-0.5];

示例:

Math.round(2.2);    //2 取最靠近2.2的值2
Math.round(2.8); //3
Math.round(-2.2); //-2
Math.round(-2.8); //-3
Math.round(2.5); //3 小数为0.5,向正无穷方向进位
Math.round(-2.5) //-2

因为random方法的特性:取得到最小值,取不到最大值,可以用Math.round()来取整,以获取一个任意区间的随机数

function random1(max,min){
return Math.round(Math.random()*(max-min)+min)
}
// 上下二式等价
function random2(max,min){
// Math.floor是向下取整,范围要加1;也可换为parseInt方法
return Math.floor(Math.random()*(max-min+1)+min)
}

1.4.6 Math.floor(value) 向下取整

参数:数字或纯数字的字符串

返回值:整数,若参数错误,返回NaN

示例:

Math.floor( 66.6);   //66
Math.floor(-66.6); //-67

1.4.7 Math.ceil(value) 向上取整

参数:数字或纯数字的字符串

返回值:整数,若参数错误,返回NaN

示例:

Math.ceil( 66.6);   //67
Math.ceil(-66.6); //-66

1.4.8 Math.max(n1,n2,n3,n...) 最大值

参数:多个参数,数字或纯数字的字符串

返回值:最大值,若参数错误,返回NaN

示例:

//求数组中的最大项
var arr=[10,20,30,40,50]
Math.max(10, 20,30,40,50);
Math.max.bind(object,10,20,30,40,50);
Math.max.apply(object,arr)
  • 推荐用apply方法,它接收两个参数,参数1是为this指定的对象,参数2是数组;
  • 数组比较长时不用手动输入各项参数,比较方便

1.4.9 Math.min(n1,n2,n3,n...) 最小值

参数:多个参数,数字或纯数字的字符串

返回值:最小值,若参数错误,返回NaN

1.4.10 Math.abs(value) 绝对值

参数:数字或纯数字的字符串

返回值:绝对值,若参数错误:非数字字符串、undefined、空,返回NaN;

参数为null返回0

示例:

Math.abs("abc");         // NaN
Math.abs(undefined); // NaN
Math.abs(); // NaN
Math.abs(null); // 0

1.4.11 Math.pow(x,y) x的y次方

参数:两个参数,数字或纯数字的字符串

返回值:x的y次方,若参数错误,返回NaN

示例:

Math.pow("3",2)   //9
Math.pow(2,3) //8

1.4.12 Math.sqrt(value) 平方根

参数:数字或纯数字的字符串

返回值:平方根,若参数为负数,返回NaN

示例:

Math.sqrt("2");  // 1.414213562373095
Math.sqrt(0); // 0
Math.sqrt(-1); // NaN

js中Math对象常用的属性和方法的更多相关文章

  1. dom对象常用的属性和方法有哪些?

    dom对象常用的属性和方法有哪些? 一.总结 一句话总结: 1.document属性和方法:document的属性有head,body之类,方法有各种获取element的方法 2.element的属性 ...

  2. js 中 Math对象

    Math 对象是一个固有的对象,无需创建它,直接把 Math 作为对象使用就可以调用其所有属性和方法.这是它与Date,String对象的区别. Math 对象属性 Math 对象方法

  3. js中判断对象类型的几种方法

    我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...

  4. js中window对象的opener属性的一个坑

    2018-05-08 17:48:33 今天我编写代码碰到了一个让我纠结了很久的坑,特别想在此说一下,让其他人避免我踏过的这个坑. 这个坑就是:在我自己写的子窗口中用opener属性却获取不到父窗口的 ...

  5. js中Dom对象的position属性

    首先应该明白什么是流?这个估计也很容易明白,我就不说了.顺便说下,float设置了这个属性就暂时脱离了流的存在,clear后才会到流里面. position:absolute| fixed | rel ...

  6. JS中String对象常用的方法

    1.  stringObject.charAt(index) 参数:index 必需,即字符在字符串中的下标.  返回值:   返回在指定位置的字符.返回的字符是长度为 1的字符串.(length属性 ...

  7. js中盒子模型常用的属性你还记得几个?

    //clientWidth;//内容宽度Width+左右填充padding//clientHeight;//内容高度height+上下填充padding//clientLeft;//左边框的宽度相当于 ...

  8. django.http.request中HttpRequest对象的一些属性与方法

    HttpRequest对象的属性 属性 描述 path 表示提交请求页面完整地址的字符串,不包括域名,如 "/music/bands/the_beatles/". method 表 ...

  9. js 中数组对象的定义赋值 以及方法

    1.定义数组 var m=new Array(); var n=[]; 2.数组的赋值(两种) A. var m=new Array(2); 一个值表示数组length var m=new Array ...

随机推荐

  1. Linux安装配置Samba共享文件系统

    Samba共享文件系统搭建与配置: 1.Samba服务端:yum install samba samba-client cifs-utilscd /etc/samba/cp smb.conf smb. ...

  2. python学习之路(2)---字符编码

    二进制编码 bin(300)    python计算二进制编码,十进制转2进制 一个二进制位就是1bit 1bit代表了8个字节,00001111 1bit  = 1bytes   缩写1b 1kb ...

  3. iOS 11 变化

    首先我是开发者,更关心对技术的影响,我又需要关注.学习哪些技术,猫神的文章:http://www.cocoachina.com/ios/20170607/19457.html 介绍了 ******** ...

  4. Linux内核DTB文件启动的几种方式

      版权:  凌云物网智科实验室< www.iot-yun.com > 声明:  本文档由凌云物网智科实验室郭工编著! 作者:  郭文学< QQ: 281143292  guowen ...

  5. 通过 Channel 实现 Goroutine Pool

    最近用到了 Go 从 Excel 导数据到服务器内部 用的是 http 请求 但是发现一个问题 从文件读取之后 新开 Goroutine 会无限制新增 导致全部卡在初始化请求 于是乎就卡死了 问题模拟 ...

  6. ElasticSearch:常用的基础查询与过滤器

    match_all(获取所有索引文档) quert_string(获取包含指定关键字文档) 默认查询_all字段,_all字段是由所有字段组合而成的,可以通过description:关键字,获取通过请 ...

  7. 持续集成高级篇之Jekins参数化构建(二)

    系列目录 上一节我们讲解了如何使用bat脚本或者powershell脚本自身的机制来达到参数化构建的目的,这在一定程序上增加了灵活性,然而缺点也相当明显:它只能适应一些相对比较固定的参数传入(比如像上 ...

  8. ranger-hdfs 插件组权限测试

    当hdfs文件对外是公开的则该其他用户就算没有配置相关的权限一样可以进行相关的操作.当hdfs文件对外权限是没有开放的,其他用户若需要进行相关操作则需要通过Ranger进行相关权限的配置. 首先  / ...

  9. ionic app 优化三件套,让其更贴近原生app

    这里推荐一个ionic大神的简书,里面有好多关于好多ionic的技术分享! http://www.jianshu.com/u/c2e637a941ef 捣鼓了好久的ionic,终于在优化过程终于有所进 ...

  10. unity之初级工程师

    一.值类型与引用类型 值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用,数据存储在数据堆中.值类型变量声明后,不管是否已经赋值,编译器为其分配内存.值类型的实例通常是在线程栈上分配的(静态 ...