javascript中内置对象Math的介绍及用法案例
前言
今天总结一下javascript 内置对象Math中的函数用法,顺带写一下常见的案例。
Math概述
Math 对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值等)可以使用 Math 中的成员。
Math中常用函数的用法
Math.PI //圆周率
Math.floor () //向下取整
Math.ceil () //向上取整
Math.round () //四舍五入就近取整 注意﹣3.5 结果是-3
Math.abs () //绝对值
Math.max ()/Math.min() //求最大值和最小值
Math.random() //返回一个随机的小数 0=<x<1(这个方法里面不跟参数)
1.绝对值方法
//1.绝对值方法
console.log(Math.abs(1)); // 1
console.log(Math.abs(-1)); //1
console.log(Math.abs('-5')); //5 会隐式转换,将数字字符串转换为数字,然后取绝对值
console.log(Math.abs('aniu')); // NaN
2.三个取整方法
//2.三个取整方法
console.log(Math.floor(1.1)); //1
console.log(Math.floor(1.9)); //1
console.log(Math.floor(-1.1)); //-2
console.log(Math.ceil(1.1)); // 2
console.log(Math.ceil(1.9)); //2
console.log(Math.ceil(-1.9)); //-1
console.log(Math.round(1.5)); //2 四舍五入 .5这个特殊,是往大了取
console.log(Math.round(-1.5)); // -1 往大了取
console.log(Math.round(-1.2)); // -1
3.求最大值/最小值
//3.求最大值/最小值
console.log(Math.max(1,5,78,46));
console.log(Math.min(1,5,78,46));
4.随机数
//4.随机数
console.log(Math.random());
案例-求两个数之间的随机整数的小算法(重要)
求两个数之间的随机整数 并且包含这两个数:
//核心算法
Math.floor(Math.random()*(max-min)) + min;
function getRandom(min,max){
return Math.floor(Math.random()*(max-min)) + min;
}
console.log(getRandom(1,7));
案例-随机点名(嘿嘿嘿)
//随机点名
var arr = ['阿牛','梦梦','小鸣人','winter','小何','WA','贱神','扎哇'] //太多啦,就写这些举例啦
console.log(arr);
console.log('阿牛爱你们???');
function getRandom(min,max){
return Math.floor(Math.random()*(max-min)) + min;
}
console.log('随机点中了:' + arr[getRandom(0,arr.length - 1)]);
补充案例
要求:得到两个数之间的随机整数,并且包含这两个数
var min, max; //定义最大数和最小数
Math.floor(Math.random() * (max - min + 1)) + min; //返回最大数和最小数之间的随机整数,并且包含最大数和最小数
将上述代码封装成函数使用起来更方便
function getNum(min,max){
return Math.floor(Math.random() * (max-min+1)+min);
}
结语
到此这篇关于javascript中内置对象Math的文章就介绍到这了,更多相关javascript内置对象Math案例内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341