> 文档中心 > Java Script 内置对象 (一) ------ Math对象

Java Script 内置对象 (一) ------ Math对象

Java Script 内置对象 (一) ------ Math对象

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


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

Java Script 内置对象 (一) ------ Math对象


前言:

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

JavaScript | MDNhttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript🎨 Math 数学对象并不是一个构造函数,所以我们不需要 new 来创建,直接使用其属性和方法即可。


一:圆周率

  • Math.PI

console.log(Math.PI)

Java Script 内置对象 (一) ------ Math对象


 二:最大最小值

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

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

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

Java Script 内置对象 (一) ------ Math对象


三:绝对值

  • Math.abs(number)

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

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

Java Script 内置对象 (一) ------ Math对象


四:随机数(重要)

  • Math.random()

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

         console.log(Math.random());   console.log(Math.random());   console.log(Math.random());   console.log(Math.random());   console.log(Math.random());   console.log(Math.random());      

Java Script 内置对象 (一) ------ Math对象


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

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

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

           function randomnum(min,max){     return Math.floor(Math.random()*(max-min+1))+min;     }     console.log(randomnum(1,100));     console.log(randomnum(1,100));     console.log(randomnum(1,100));      

Java Script 内置对象 (一) ------ Math对象


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

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

           var name1=['卡卡西','宇智波带土','宇智波鼬','宇智波斑','宇智波佐助','鸣人'];     function random_num(min,max){     return Math.floor(Math.random()*(max-min+1))+min;     }     var num=random_num(0,name1.length-1)     console.log(name1[num]);      

Java Script 内置对象 (一) ------ Math对象


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

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

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

 📀  2.限制猜测次数

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

 

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

 Java Script 内置对象 (一) ------ Math对象