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 相关文章推荐
JS 容错处理代码, 屏蔽错误信息
Mar 09 Javascript
JavaScript 对象的属性和方法4种不同的类型
Mar 19 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
Nov 28 Javascript
JS实现自动切换文字的导航效果代码
Aug 27 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
Aug 01 Javascript
基于js对象,操作属性、方法详解
Aug 11 Javascript
基于jQuery实现Tabs选项卡自定义插件
Nov 21 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
Jan 10 Javascript
JS运动特效之任意值添加运动的方法分析
Jan 24 Javascript
layui radio性别单选框赋值方法
Aug 15 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
Nov 06 Javascript
详解如何在JS代码中消灭for循环
Dec 11 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
PHP数组及条件,循环语句学习
2012/11/11 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
js循环改变div颜色具体方法
2013/06/25 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
JavaScript中String.match()方法的使用详解
2015/06/06 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
JavaScript Split()方法
2015/12/18 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
pandas string转dataframe的方法
2018/04/11 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
Python for循环中的陷阱详解
2018/07/13 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
Python Gitlab Api 使用方法
2019/08/28 Python
关于django 1.10 CSRF验证失败的解决方法
2019/08/31 Python
Python Opencv图像处理基本操作代码详解
2020/08/31 Python
python 贪心算法的实现
2020/09/18 Python
Python实现简单猜数字游戏
2021/02/03 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
测绘工程本科生求职信
2013/10/10 职场文书
求职自我评价怎么写
2015/03/09 职场文书
复兴之路观后感
2015/06/02 职场文书
退休教师追悼词
2015/06/23 职场文书
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android