天天看点

JS 内置对象

内置对象

JS 的对象分三种:自定义对象,内置对象,浏览器对象;前两种是JS的基础内容,第三个是JS独有的

1.内置对象:是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的的功能(属性和方法)

查找文档,用MDN来查询 内置对象,可以看内置对象的属性和方法

学习内置对象中的方法:

  1. 查阅该方法的功能
  2. 查看里面参数的意义和类型
  3. 查看返回值的意义和类型
  4. 通过demo进行测试

2.Math对象

  1. Math 是一个内置对象,它拥有一些数学常数属性和数学函数方法
  2. Math 不是一个构造器(构造函数)就不需要new来调用,Math 的所有属性与方法都是静态的。引用圆周率的写法是 Math.PI,调用正余弦函数的写法是 Math.sin(x),x 是要传入的参数。

1. Math.max() 和 Math.min()

1. 参数:一组数值

如果没有参数,则结果为 - Infinity

2. 返回值:

<script>
        console.log(Math.max(1,99,'nihao'));//NaN
        console.log(Math.max());//-Infinity
        console.log(Math.max(1, 3, 2));//3
    </script>
           

3.利用对象封装自己的数学对象,里面有PI 属性,最大值和最小值方法

var myMath = {
            PI:3.1459,
            max:function(){//不确定要比较多少个数值中的最大值时,调用伪数组arguments
                var max = arguments[0];
                for(var i=1;i<arguments.length;i++){
                    if(arguments[i]>max){
                        max=arguments[i];
                    }
                }
                return max;
            }
            //不要忘记属性与方法之间用逗号隔开
            ,min:function(){
                var min = arguments[0];
                for(var i=1;i<arguments.length;i++){
                    if(arguments[i]<min){
                        min=arguments[i];
                    }
                }
                return min;
            }
        }
        console.log(myMath.PI);
        console.log(myMath.max(1,2,3));
        console.log(myMath.min(1,2,3));
           

2. Math.floor() 向下取整

3. Math. ceil() 向 上取整

4. Math.round() 四舍五入取整

5. Math. abs() 求绝对值

console.log(Math.floor(1.5));//1
         console.log(Math.floor(1.9));//1
         console.log(Math.ceil(2.1));//3
         console.log(Math.ceil(2.9));//3
         console.log(Math.round(3.5));//4
         console.log(Math.round(3.9));//4
         console.log(Math.round(-1.1));//-1
         console.log(Math.round(-1.5));//-1
         console.log( Math. abs(-1));//1
         console.log(Math. abs('-1'));//1
         //此处有隐式转换,把字符串型的-1转换成数字型
           

6.Math.random() 求随机数

function getRandom() {
  return Math.random();
}
           
<script>
        // 要调用Math.floor(Math.random()*(max-min+1))+min
        function  getRandom(min,max){
            return Math.floor(Math.random()*(max-min+1))+min;
        }
        console.log(getRandom(1,10));
        // 例如随机点名
        var arr=['小小','童童','大大','aiai','asas','asoaso'];
        console.log(arr[getRandom(0,arr.length-1)]);
        //将各个同学的姓名保存在数组中,是对数组的索引进行求随机数,注意从0开始,到数组长度减1
    </script>
           
  1. 猜数字游戏:

    要求:程序随机生成一个1到10之间的数字,并让用户输入一个数字

    若大于该数字,就提示,数字大了,继续猜

    若小于该数字,就提示,数字小了,继续猜

    若等于该数字,就提示猜对了,结束程序

<script>
        //  分析:
        //  1.要生成随机数调用Math.random()方法中的返回两个数中之间的随机整数,并且包含这两个整数
        //  要调用Math.floor(Math.random()*(max-min+1))+min
        //  2. 一直猜到正确为止,用到循环,此处用while循环简单,那循环条件,需要保证一直猜,只到正确,才退出
        //  3. 用到if else if 多分支语句来判断大于,小于,等于
        function  getRandom(min,max){
            return Math.floor(Math.random()*(max-min+1))+min;
        }
        var random =  getRandom(1,10);
        while(true){//此处先使循环是死循环
            var num = prompt('请输入1~10的数字:');
            if(num>random){
                alert('你猜大了');
            }
            else if(num<random){
                alert('你猜小了');
            }
            else{
                alert('你猜对了');
                break;//一定要结束此循环
            }
        }
    </script>
           

3. Date对象