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 是一元运算符,返回结果是一 ...
随机推荐
- ES5对Array增强的9个API
为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...
- 高性能Javascript--脚本的无阻塞加载策略
Javascript在浏览器中的性能,可以说是前端开发者所要面对的最重要的可用性问题. 在Yahoo的Yslow23条规则当中,其中一条是将JS放在底部 .原因是,事实上,大多数浏览器使用单进程处理U ...
- LeetCode-3LongestSubstringWithoutRepeatingCharacters(C#)
# 题目 3. Longest Substring Without Repeating Characters Given a string, find the length of the longes ...
- Git Bash的一些命令和配置
查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...
- AES加密
package com.edu.hpu; import java.math.BigInteger; import java.security.MessageDigest; import java.se ...
- 带你实现开发者头条APP(四)---首页优化(加入design包)
title: 带你实现开发者头条APP(四)---首页优化(加入design包) tags: design,Toolbar,TabLayout,RecyclerView grammar_cjkRuby ...
- 深入理解 Java G1 垃圾收集器--转
原文地址:http://blog.jobbole.com/109170/?utm_source=hao.jobbole.com&utm_medium=relatedArticle 本文首先简单 ...
- C#异步编程
什么是异步编程 什么是异步编程呢?举个简单的例子: using System.Net.Http; using System.Threading.Tasks; using static System.C ...
- .Net语言 APP开发平台——Smobiler学习日志:手机应用的TextTabBar快速实现方式
参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-put.html http://www.yuanjiaocheng.net/we ...
- FullCalendar日历插件说明文档
FullCalendar提供了丰富的属性设置和方法调用,开发者可以根据FullCalendar提供的API快速完成一个日历日程的开发,本文将FullCalendar的常用属性和方法.回调函数等整理成中 ...