内置对象(Math、Date、String、Array)

一、内置对象

  • js中三种对象:内置对象、自定义对象、浏览器对象
  • 实例对象是指通过构造函数创建出来,然后实例化的对象(new关键字)
  • 静态对象是指不需要创建,直接调用的对象,可以在整个JS里调用的公共对象。有点类似于全局变量

二、Math

  • Math属性
        console.log(Math.PI);//3.141592653589793(圆周率)
        console.log(Math.E);//2.718281828459045(自然对数的底数)
  • Math方法
        //1.绝对值
        console.log(Math.abs(-1));//1
        console.log(Math.abs(1));//1
        //2.向上取整
        console.log(Math.ceil(2.01));//3
        console.log(Math.ceil(2.5));//3
        console.log(Math.ceil(2.99));//3
        //3.向下取整
        console.log(Math.floor(2.01));//2
        console.log(Math.floor(2.5));//2
        console.log(Math.floor(2.99));//2
        //4.转换为离它最近的单精度浮点数形式的数字
        console.log(Math.fround(1.1));//1.100000023841858
        console.log(Math.fround(2 ** 150));//Infinity
        console.log(Math.fround("abc"));//NaN
        console.log(Math.fround(NaN));//NaN
        //5.取最大值和取最小值
        console.log(Math.max(3,10,11,58,1,9,6));//58
        console.log(Math.min(3,10,11,58,1,9,6));//1
        console.log(Math.min(3,10,"abc",58,1,9,6));//NaN
        //6.数的指数次幂
        console.log(Math.pow(2,2));//4
        console.log(Math.pow(4,3));//64
        //7.数的平方根
        console.log(Math.sqrt(16));//4
        console.log(Math.sqrt(0));//0
        console.log(Math.sqrt(-16));//NaN
        //8. [0,1)的随机数
        console.log(Math.random());//[0,1)的随机数
        console.log(Math.random()*5);//[0,5)的随机数
        console.log(Math.random()*5+1);//[1,6)的随机数
        console.log(parseInt(Math.random()*5));//[0,5)的随机整数
  • 案例
//例1 :自定义一个对象,实现Math.max的方法
        function MyMath(){
            //对象添加一个方法
            this.getMax=function(){
                //参数不确定,获取参数
                var max=arguments[0];
                for(var i=0;i<arguments.length;i++){
                    if(max<arguments[i]){
                        max=arguments[i];
                    }
                }
            return max;
            };
        }
        //实例对象
        var mt=new MyMath();
        var result=mt.getMax(10,30,50,12,66,1);
        console.log(result);//66
//例2 :一个十六进制颜色值的数组
        function getColor(){
            //定义一个带#的字符串,用于开头
            var str="#";
            //定义一个数组,十六进制的每个数字和符号
            var arr=["1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
            //因为需要六位数,所以循环六次
            for(var i=0;i<6;i++){
                //随机产生[0,16)的整数,作为下标
                var num=parseInt(Math.random()*16)
                str=str+arr[num];
            }
            return str;
        }
        var result=getColor();
        console.log(result);//随机产生#1be513这样随机颜色值

三、Date

  • 需要注意的是只能通过调用 Date 构造函数来实例化日期对象:以常规函数调用它(即不加 new 操作符)将会返回一个字符串,而不是一个日期对象。
        var havenew=new Date();
        var nonew=Date();
        console.log(havenew);//Thu Apr 26 2018 11:08:13 GMT+0800 (中国标准时间)
        console.log(typeof havenew);//object
        console.log(nonew);//Thu Apr 26 2018 11:08:13 GMT+0800 (中国标准时间)
        console.log(typeof nonew);//string
  • 常用
        var dt1=new Date();//Thu Apr 26 2018 11:19:27 GMT+0800 (中国标准时间)-----现在的时间
        var dt2=new Date(2018/4/2);//Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间)-----输入的时间
        var dt3=Date.now();//1524712810153--------1970年到现在的毫秒数(数字类型)
           var dt=new Date();
           console.log(dt.getFullYear());//2018--获取年份
           console.log(dt.getMonth());//3--------获取月份,从0开始算的
           console.log(dt.getDate());//26--------获取日期
           console.log(dt.getHours());//11-------获取小时
           console.log(dt.getMinutes());//25-----获取分钟
           console.log(dt.getSeconds());//57-----获取秒
           console.log(dt.getDay());//4----------获取星期几
           console.log(dt.toString());//Thu Apr 26 2018 11:25:57 GMT+0800 (中国标准时间)----默认
           console.log(dt.toDateString());//Thu Apr 26 2018-------日期
           console.log(dt.toLocaleDateString());//2018/4/26--------日期
           console.log(dt.toTimeString());//11:25:57 GMT+0800 (中国标准时间)-------时间
           console.log(dt.toLocaleDateString());//2018/4/26--------时间
           console.log(dt.valueOf());//1524713157751-------1970年到现在的毫秒数
  • 格式化日期和时间
        function getDate(dt){
            var year=dt.getFullYear();//获取年
            var month=dt.getMonth();//获取月
            var day=dt.getDate()+1;//获取日
            var hour=dt.getHours();//获取小时
            var minute=dt.getMinutes();//获取分钟
            var second=dt.getSeconds();//获取秒
            //当一些数小于10的时候,前面添加一个0
            month=month<10?"0"+month:month;
            day=day<10?"0"+day:day;
            hour= hour<10?"0"+ hour: hour;
            minute=minute<10?"0"+minute:minute;
            second=second<10?"0"+second:second;
            //返回格式化后的日期和时间
            return year+"年"+month+"月"+day+"日"+hour+":"+minute+":"+second;
        }
        var today=new Date();
        console.log(getDate(today));

四、String

五、Array

猜你喜欢

转载自www.cnblogs.com/EricZLin/p/8951152.html