JS 的 Math() 内置对象

简介: 轻松掌握 JS 的 Math() 内置对象

📀 在Java Script 中一共有三类对象,分别是 ‘自定义对象’,‘内置对象’,‘浏览器对象’,其中前两类属于JS基础中的内容,属于ECMA Script,而浏览器对象属于JS独有的一部分内容。在日常代码开发中有很多代码需要频繁使用,例如数学类,日期类,以及Array的一些方法等,对此便有了一些JS的自带对象,这些自带对象提供了很多可以直接使用的属性与方法,使得代码更为精炼。


JS中比较常见的内置对象为: Math,Date,Array,String ,这篇文章我们讲解 Math 对象


🎨 在开始之前我们先推荐一个非常常用的文档工具---- MDN文档,在代码开发中遇到不熟悉的内置对象方法,我们可以打开此文档来查阅,该文档网址为:


JavaScript | MDN

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript

🎨 Math 数学对象并不是一个构造函数,所以我们不需要 new 来创建,直接使用其属性和方法即可。

一:圆周率

Math.PIconsole.log(Math.PI)

二:最大最小值

Math.max(number1,number2,number3......)

Math.min(number1,number2,number3......)

注意:其中如果括号里没有参数,输出结果为 -Infinity,如果括号内参数有任何一个不能被转换的数值(例如字符串),则输出结果为NaN,但是如果出现了字符串型的数字,则可以通过隐式转换为数字型,不影响结果输出。

console.log(Math.max());  //结果为 -Infinityconsole.log(Math.max(2,3,5,7,4,9));  //结果为9console.log(Math.min(2,3,5,7,4,9));  //结果为2console.log(Math.min(2,3,5,7,'小明'));  //结果为 NaNconsole.log(Math.min('2',3,5,7,4,9));   //结果为2,会将'2'隐式转换为数字型2


三:绝对值

Math.abs(number)

注意:如果括号内没有参数,输出结果为 NaN,如果括号内参数有任何一个不能被转换的数值(例如字符串),则输出结果为NaN,但是如果出现了字符串型的数字,则可以通过隐式转换为数字型,不影响结果输出。(同上)


console.log(Math.abs());  // 结果为 NaNconsole.log(Math.abs(-1));  //结果为1console.log(Math.abs(1));  //结果为1console.log(Math.abs('-1'));  //结果为1,隐式转换同上console.log(Math.abs('小明'));  //结果为 NaN


四:随机数(重要)

Math.random()

注意: 随机生成一个区间在[0,1)之间的浮点数

<script>console.log(Math.random());
console.log(Math.random());
console.log(Math.random());
console.log(Math.random());
console.log(Math.random());
console.log(Math.random());
</script>


五:得到两个数之间的随机整数(非常重要)

Math.floor(Math.random()*(max-min+1))+min

注意:可以得到两个数之间的随机整数,并且包含这两个整数,此处我们封装一个函数

<script>functionrandomnum(min,max){
returnMath.floor(Math.random()*(max-min+1))+min;
            }
console.log(randomnum(1,100));
console.log(randomnum(1,100));
console.log(randomnum(1,100));
</script>



六:拓展案例1 随机点名游戏

🎨 利用上一版块的获取两个数之间的随机整数的方法,将数个名字放入一个数组内,根据获取到的随机数作为索引去获取数组内的名


<script>varname1=['卡卡西','宇智波带土','宇智波鼬','宇智波斑','宇智波佐助','鸣人'];
functionrandom_num(min,max){
returnMath.floor(Math.random()*(max-min+1))+min;
            }
varnum=random_num(0,name1.length-1)
console.log(name1[num]);
</script>


七:拓展案例2 猜数字小游戏

📀  1.死循环,不限制猜测次数

<script>functionrandom_num(min,max){
returnMath.floor(Math.random()*(max-min+1))+min;
            }
vartrue_num=random_num(0,100);
while(1){
varnum=prompt('请输入 0-100 范围内的一个整数');
if(true_num>num){
alert('您猜小了');
                 }
elseif(true_num<num){
alert ('您猜大了');
                 }
else{
alert('恭喜你!您猜对了!');
break;
                 }
           }
</script>

📀  2.限制猜测次数


写法有多种,你也可以使用 for 循环或别的

<script>functionrandom_num(min,max){
returnMath.floor(Math.random()*(max-min+1))+min;
            }
vartrue_num=random_num(0,100);
varflag=10;
while(flag){
varnum=prompt('请输入 0-100 范围内的一个整数,您还剩下'+flag+'次机会');
flag--;
if(true_num>num){
alert('您猜小了');
                 }
elseif(true_num<num){
alert ('您猜大了');
                 }
else{
alert('恭喜你!您猜对了!');
break;
                 }
           }
if(flag<=0){
alert('您的机会已耗尽');
           }
else{
alert('游戏结束,欢迎下次再来')
           }
</script>


 


相关文章
|
6月前
|
JavaScript 前端开发 开发者
JavaScript的`Math`对象
【4月更文挑战第21天】JavaScript的`Math`对象
38 3
|
6月前
|
JavaScript 前端开发
Math对象:JavaScript中的数学工具
Math对象:JavaScript中的数学工具
65 1
|
6月前
|
JSON JavaScript 前端开发
js有哪些内置对象?
js有哪些内置对象?
|
6月前
|
JavaScript
js中常见的内置对象(js的问题)
js中常见的内置对象(js的问题)
28 0
|
13天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
13天前
|
JavaScript 前端开发 开发者
|
1月前
|
JavaScript 前端开发
JavaScript Math(算数) 对象
JavaScript Math(算数) 对象
20 4
|
1月前
|
JavaScript 前端开发
JavaScript 的 Math
【10月更文挑战第07天】
30 1
|
3月前
|
机器学习/深度学习 JavaScript 前端开发
JavaScript拟合Math
【8月更文挑战第20天】
|
3月前
|
JavaScript 前端开发
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
这篇文章介绍了JavaScript中的数组、Date对象、Math对象以及包装类(String、Number、Boolean),并详细讲解了数组的创建、方法(如forEach、push、pop、unshift、slice、splice)和遍历操作,以及工厂方法创建对象和原型对象的概念。
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象