JavaScript中Math对象的方法介绍
1.比较最值类
1.1 max() 方法,比较一组数值中的最大值,返回最大值。
var maxnum = Math.max(12,6,43,58,70);
console.log(maxnum); //"70"
1.2 min() 方法,比较一组数值中的最小值,返回最小值。
var minnum = Math.min(12,6,43,58,70);
console.log(minnum); //"6"
这两个方法接收0或者多个参数。
如果不传入参数,max() 返回 -Infinity;min() 返回 Infinity。
如果传入的参数,不能转化为数值,这两个方法都返回 NaN。
console.log(Math.max()); // -Infinity
console.log(Math.min()); // Infinity
console.log(Math.max(1,6,"hello")); // NaN
2.数值舍入类
2.1 ceil() 方法,将数值向上舍入为最接近的整数,返回舍入后的新数值。
console.log(Math.ceil(6.1)); //"7"
console.log(Math.ceil(6.5)); //"7"
console.log(Math.ceil(6.9)); //"7"
2.2 floor() 方法,将数值向下舍入为最接近的整数,返回舍入后的新数值。
console.log(Math.floor(6.1)); //"6"
console.log(Math.floor(6.5)); //"6"
console.log(Math.floor(6.9)); //"6"
2.3 round() 方法,将数值四舍五入为最接近的整数,返回舍入后的新数值。
console.log(Math.round(6.1)); //"6"
console.log(Math.round(6.5)); //"7"
console.log(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() 将其向下舍入。
其他情况可以自己举例推算。
- 其实,可以通过一个函数来计算可能值的总数和第一个可能的值:
function selectFrom(lowerValue,upperValue) {
var choices = upperValue - lowerValue + 1;
return Math.floor(Math.random() * choices + lowerValue);
}
函数 selectFrom() 接受两个参数,即应该返回的最小值 lowerValue 和最大值 UpperValue。用最大值减去最小值再加上1等于可能值的总数,最小值 lowerValue 就是第一个可能的值,这样可以套用前面的公式。
使用这个函数随机产生某个范围内的整数更灵活,我们只需要调用函数,传入参数即可。
比如要随机产生 [10,20] 之间的整数,传入参数10,20即可:
function selectFrom(lowerValue,upperValue) {
var choices = upperValue - lowerValue + 1;
return Math.floor(Math.random() * choices + lowerValue);
}
var num = selectFrom(10,20);
console.log(num); //随机产生一个介于10和20之间的整数
利用函数 selectFrom() 可以从数组中随机取出一项。比如从彩虹的色彩中随机取出一种颜色,代码如下:
function selectFrom(lowerValue,upperValue) {
var choices = upperValue - lowerValue + 1;
return Math.floor(Math.random() * choices + lowerValue);
}
var colors = ["红","橙","黄","绿","青","蓝","紫"];
var color = colors[selectFrom(0, colors.length-1)];
console.log(color); //随机弹出一种颜色名称
数组 colors 共有7项,项目的下标号从0到6(即 colors.length-1),要随机取出一种颜色,也就是要随机产生一个 [0,6] 之间的整数,把这个随机产生整数赋给 colors [i] 中的 i,也可以多写一步,更好理解:
function selectFrom(lowerValue,upperValue) {
var choices = upperValue - lowerValue + 1;
return Math.floor(Math.random() * choices + lowerValue);
}
var colors = ["红","橙","黄","绿","青","蓝","紫"];
var i = selectFrom(0, colors.length-1);
var color = colors[i];
console.log(color); //随机弹出一种颜色名称
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中Math对象的方法介绍的更多相关文章
- JavaScript中String对象的方法介绍
1.字符方法 1.1 charAt() 方法,返回字符串中指定位置的字符. var question = "Do you like JavaScript?"; alert(ques ...
- JavaScript中判断对象类型方法大全1
我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...
- JavaScript中判断对象类型方法大全2
在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object ...
- JavaScript中给对象添加方法
在JavaScript中,我们经常要给已定义的对象添加一些方法,如下: function circle(w,h){ this.width=w; this.height=h; ...
- JavaScript中textRange对象使用方法总结
TextRange对象是动态HTML(DHTML)的高级特性,使用它可以实现很多和文本有关的任务,例如搜索和选择文本.文本范围让您可以选择性的将字符.单词和句子从文档中挑选出来.TextRange对象 ...
- javascript操作Math对象的方法总结
//数学函数--abs 返回数字的绝对值 var a; /*a = Math.abs(-12); alert(a); //12 //数学函数--acos 返回数的反余弦数 a = Math.acos( ...
- javaScript中Math内置对象基本方法入门
概念 Math 是javaScript的内置对象,包含了部分数学常数属性和数学函数方法. Math 不是一个函数对象,用户Number类型进行使用,不支持BigInt. Math 的所有属性与方法都是 ...
- javascript常用的Math对象的方法
简介 Math对象是在程序编程中用于执行一些数学任务的.Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数, ...
- JavaScript中判断对象类型的种种方法
我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...
随机推荐
- UWP开发之Mvvmlight实践九:基于MVVM的项目架构分享
在前几章介绍了不少MVVM以及Mvvmlight实例,那实际企业开发中将以那种架构开发比较好?怎样分层开发才能节省成本? 本文特别分享实际企业项目开发中使用过的项目架构,欢迎参照使用!有不好的地方欢迎 ...
- .NET CoreCLR开发人员指南(上)
1.为什么每一个CLR开发人员都需要读这篇文章 和所有的其他的大型代码库相比,CLR代码库有很多而且比较成熟的代码调试工具去检测BUG.对于程序员来说,理解这些规则和习惯写法非常的重要. 这篇文章让所 ...
- jQuery的属性
The Write Less , Do More ! jQuery的属性 1. attr(name|properties|key,value|fn) : 设置或返回被选元素的属性值 ①获取属性 < ...
- 介绍一款原创的四则运算算式生成器:CalculateIt2
家里小朋友读一年级了,最近每天都有一些10以内的加减法口算练习,作为程序员爸爸,自然也是想办法能够偷懒,让电脑出题,给小朋友做些练习.于是,自己在业余时间开发了一个四则运算算式生成器,名为:Calcu ...
- Create a Team in RHEL7
SOLUTION VERIFIED September 13 2016 KB2620131 Environment Red Hat Enterprise Linux 7 NetworkManager ...
- python 数据类型 --- 集合
1. 注意列表和集合的区别 set 列表表现形式: list_1 = [1,3,4]; 集合表现形式:set_1= set() list_1 = [1,2,3,4,23,4,2] print(lis ...
- CSS3自定义滚动条样式 -webkit-scrollbar(转)
有没有觉得浏览器自带的原始滚动条很不美观,同时也有看到很多网站的自定义滚动条显得高端,就连chrome32.0开发板都抛弃了原始的滚动条,美观多了.那webkit浏览器是如何自定义滚动条的呢? 前言 ...
- HotApp小程序服务范围资质查询器
微信小程序提交审核需要选择资质服务范围,如果服务范围不对,审核会不通过, 开发小程序之前,最好先查询所开发小程序的资质范围,否则无法通过微信审核. 小程序的资质范围查询地址,数据同步微信官方 ht ...
- XAMARIN ANDROID 二维码扫描示例
现在二维码的应用越来越普及,二维码扫描也成为手机应用程序的必备功能了.本文将基于 Xamarin.Android 平台使用 ZXing.Net.Mobile 做一个简单的 Android 条码扫描示 ...
- (转) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
原文地址: http://www.cnblogs.com/lyhabc/p/4682986.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建Alwa ...