JavaScript中Math对象的方法介绍


Posted in Javascript onJanuary 05, 2017

1.比较最值方法

比较最值有两种方法,max() 和 min() 方法。

1.1 max() 方法,比较一组数值中的最大值,返回最大值。

var maxnum = Math.max(12,6,43,58,70);
alert(maxnum); //"70"

1.2 min() 方法,比较一组数值中的最小值,返回最小值。

var minnum = Math.min(12,6,43,58,70);
alert(minnum); //"6"

2.数值舍入方法

2.1 ceil() 方法,将数值向上舍入为最接近的整数。

alert(Math.ceil(6.1)); //"7"
alert(Math.ceil(6.5)); //"7"
alert(Math.ceil(6.9)); //"7"

不管6后面的小数位是几,该方法总是向上舍入,结果都是7。

2.2 floor() 方法,将数值向下舍入为最接近的整数。

alert(Math.floor(6.1)); //"6"
alert(Math.floor(6.5)); //"6"
alert(Math.floor(6.9)); //"6"

不管6后面的小数位是几,该方法总是向下舍入,结果都是6。

2.3 round() 方法,将数值四舍五入为最接近的整数。

alert(Math.round(6.1)); //"6"
alert(Math.round(6.5)); //"7"
alert(Math.round(6.9)); //"7"

该方法四舍五入,和我们小学时学的舍入规则一致。

3.产生随机数方法

random() 方法,返回一个大于等于0小于1的随机数,其实是小数值。随机数范围用区间表示即为[0,1),包含0不包含1。

这里有一个公式:

返回的值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值),

套用这个公式可以返回某个整数范围内的随机数。

我们注意到了上面的公式中调用了 floor() 方法,因为 random() 总是返回一个小数,而我们要返回的是整数,所以得对其返回值进行舍入操作。

比如我们要随机产生1到10之间的整数,[1,10],包含1和10,可以套用公式编写下面的代码:

var num = Math.floor(Math.random() * 10 + 1);

[1,10] 之间包含10个数,因此可能值的总数是10,则 random()*10,即产生 [0,10) 之间的随机数;

第一个可能的值是1,则 random()*10+1,即产生 [1,11) 之间的随机数;

此时它产生的最小整数是1了,但最大整数并不是10,它会产生10.xxxxxxxxxx 这样的小数,于是用 floor() 将其向下舍入,这样它产生的最大整数就是10了。

如果要随机产生 [5,10] 之间的整数,那么套用公式即可编写这样的代码:

var num = Math.floor(Math.random() * 6 + 5);

[5,10] 之间包含6个数,所以可能值的总数是6,则 random()*6;第一个可能的值是5,所以 random()*6+5;最后用 floor() 将其向下舍入。

其他情况可以自己举例推算。

4.其他计算方法

下面的这样方法都是用来进行各种简单或复杂的计算。

Math.abs(num)                                   返回 num 的绝对值

Math.exp(num)                                   返回 Math.E 的 num 次幂

Math.log(num)                                    返回 num 的自然对数

Math.pow(num,power)                        返回 num 的 power 次幂

Math.sqrt(num)                                  返回 num 的平方根

Math.acos(x)                                      返回 x 的反余弦值

Math.asin(x)                                       返回 x 的反正弦值

Math.atan(x)                                      返回 x 的反正切值

Math.atan2(y,x)                                  返回 y/x 的反正切值

Math.cos(x)                                        返回 x 的余弦值

Math.sin(x)                                         返回 x 的正弦值

Math.tan(x)                                        返回 x 的正切值

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
Mar 03 Javascript
比较新旧两个数组值得增加和删除的JS代码
Oct 30 Javascript
jquery给图片添加鼠标经过时的边框效果
Nov 12 Javascript
AngularJS内置指令
Feb 04 Javascript
纯js实现重发验证码按钮倒数功能
Apr 21 Javascript
javascript去除空格方法小结
May 21 Javascript
关于JS中prototype的理解
Sep 07 Javascript
使用React实现轮播效果组件示例代码
Sep 05 Javascript
原生js简单实现放大镜特效
May 16 Javascript
基于vue组件实现猜数字游戏
May 28 Javascript
vue打包之后生成一个配置文件修改接口的方法
Dec 09 Javascript
vue 实现路由跳转时更改页面title
Nov 05 Javascript
微信小程序 Tab页切换更新数据
Jan 05 #Javascript
微信小程序 省市区选择器实例详解(附源码下载)
Jan 05 #Javascript
微信小程序 Template详解及简单实例
Jan 05 #Javascript
echarts3 使用总结(绘制各种图表,地图)
Jan 05 #Javascript
微信小程序 数组中的push与concat的区别
Jan 05 #Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
Jan 05 #Javascript
bootstrap制作jsp页面(根据值让table显示选中)
Jan 05 #Javascript
You might like
YII Framework框架教程之安全方案详解
2016/03/14 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
javascript实用方法总结
2015/02/06 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
vue 循环加载数据并获取第一条记录的方法
2018/09/26 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
java遇到微信小程序 "支付验证签名失败" 问题解决
2019/12/22 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
Java面向对象面试题
2016/12/26 面试题
室内拓展活动方案
2014/02/13 职场文书
六查六看自查材料
2014/02/17 职场文书
汉语拼音教学反思
2016/02/22 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
Python实现拼音转换
2021/06/07 Python