0


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

0f1d047c7ca440e88d1123c10d962608.gif

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


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

7cee83c52846b895a64de466f4e3bc8e.png


前言:

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

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


一:圆周率

  • Math.PI

console.log(Math.PI)

ec8d459d2d884551a678e8c3a0514e60.png


二:最大最小值

  • 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

5f53be71ace14a51b76f622dbc2a8c42.png


三:绝对值

  • 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

9124cd2594ac4c76b1bf31ff326f2886.png


四:随机数(重要)

  • 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>

8bc5b9dac3004d099a850724c00fc3bd.png


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

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

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

      <script>
            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));
      </script>

67b655a2187b4468bdcf31bdf9d99557.png


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

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

      <script>
            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]);
      </script>

3d3ad3be73b14586afb868ba511ab253.png


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

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

      <script>
            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;
                 }
           }
      </script>

📀 2**.限制猜测次数**

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

      <script>
            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('游戏结束,欢迎下次再来')
           }
      </script>

c8b50f146c7a498d938f87d5b2869dbc.gif


本文转载自: https://blog.csdn.net/weixin_52212950/article/details/124746427
版权归原作者 卡卡西最近怎么样 所有, 如有侵权,请联系我们删除。

“Java Script 内置对象 (一) ------ Math对象”的评论:

还没有评论