js中Math对象常用的属性和方法
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对象常用的属性和方法的更多相关文章
- dom对象常用的属性和方法有哪些?
dom对象常用的属性和方法有哪些? 一.总结 一句话总结: 1.document属性和方法:document的属性有head,body之类,方法有各种获取element的方法 2.element的属性 ...
- js 中 Math对象
Math 对象是一个固有的对象,无需创建它,直接把 Math 作为对象使用就可以调用其所有属性和方法.这是它与Date,String对象的区别. Math 对象属性 Math 对象方法
- js中判断对象类型的几种方法
我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...
- js中window对象的opener属性的一个坑
2018-05-08 17:48:33 今天我编写代码碰到了一个让我纠结了很久的坑,特别想在此说一下,让其他人避免我踏过的这个坑. 这个坑就是:在我自己写的子窗口中用opener属性却获取不到父窗口的 ...
- js中Dom对象的position属性
首先应该明白什么是流?这个估计也很容易明白,我就不说了.顺便说下,float设置了这个属性就暂时脱离了流的存在,clear后才会到流里面. position:absolute| fixed | rel ...
- JS中String对象常用的方法
1. stringObject.charAt(index) 参数:index 必需,即字符在字符串中的下标. 返回值: 返回在指定位置的字符.返回的字符是长度为 1的字符串.(length属性 ...
- js中盒子模型常用的属性你还记得几个?
//clientWidth;//内容宽度Width+左右填充padding//clientHeight;//内容高度height+上下填充padding//clientLeft;//左边框的宽度相当于 ...
- django.http.request中HttpRequest对象的一些属性与方法
HttpRequest对象的属性 属性 描述 path 表示提交请求页面完整地址的字符串,不包括域名,如 "/music/bands/the_beatles/". method 表 ...
- js 中数组对象的定义赋值 以及方法
1.定义数组 var m=new Array(); var n=[]; 2.数组的赋值(两种) A. var m=new Array(2); 一个值表示数组length var m=new Array ...
随机推荐
- powerdesigner16.6版本resource的重复使用
今天早上遇到想要重复使用resource ,但是发现powerdesigner16.6版本跟16.5版本有关重复使用name的设置已经不一样了,网上找了好久没找到,软件上找了好久也没找到相应的设置. ...
- iOS 11 变化
首先我是开发者,更关心对技术的影响,我又需要关注.学习哪些技术,猫神的文章:http://www.cocoachina.com/ios/20170607/19457.html 介绍了 ******** ...
- 消息中间件——RabbitMQ(六)理解Exchange交换机核心概念!
前言 来了解RabbitMQ一个重要的概念:Exchange交换机 1. Exchange概念 Exchange:接收消息,并根据路由键转发消息所绑定的队列. 蓝色框:客户端发送消息至交换机,通过路由 ...
- 用小程序·云开发两天搭建mini论坛丨实战
笔者最近涉猎了小程序相关的知识,于是利用周末时间开发了一款类似于同事的小程序,深度体验了小程序云开发模式提供的云函数.数据库.存储三大能力.关于云开发,可参考文档:小程序·云开发. 个人感觉云开发带来 ...
- [AI] 论文笔记 - CVPR2018 Super SloMo: High Quality Estimation of Multiple Intermediate Frames for Video Interpolation
写在前面 原始视频(30fps) 补帧后的视频(240fps) 本文是博主在做实验的过程中使用到的方法,刚好也做为了本科毕设的翻译文章,现在把它搬运到博客上来,因为觉得这篇文章的思路真的不错. 这篇文 ...
- 浏览器兼容问题-vue.js
前端时间和其他公司人合作,认识了vue.起初我们做手机端一般用这个技术.后来发现在web也可以使用. 然后自己摸索了下,发现这个技术对于数据的绑定果真很神奇,所在在一些绑定数据比较多,比较零散的画面时 ...
- js学习重点难点知识总结 (巩固闭包、原型、原型链)
学习重点知识总结 1.闭包知识点巩固 闭包函数: 1.可以实现函数外部访问函数内部的变量 2.在Java ...
- Kafka集群环境配置
Kafka集群环境配置 1 环境准备 1.1 集群规划 Node02 Node03 Node04 zk zk zk kafka kafka kafka 1.2 jar包下载 安装包:kafka_2.1 ...
- HDU 2516
题意略. 思路: 典型的斐波那契博弈,这里说一下结论: 如果先手面对的n不是斐波那契数,那么先手必胜:否则后手胜. 详见代码: #include<bits/stdc++.h> using ...
- Agentless监控实践中的预警指标采集
很多公司已经开发了监控解决方案,解决了指标收集.展示.预警发送等一系列问题. 本文介绍的监控解决方案由高性能时序数据库InfluxDB.时序分析监控工具Grafana及Agentless自动化工具An ...