JavaScript常见的内置对象

文章目录

  • 系列文章目录
  • 前言
  • 一、Math数学对象
  • 二、Date日期对象
  • 三、数组对象
  • 四、字符串对象
  • 总结


前言

javaScript提供了多个内置对象:Math、Date、Array、String等,下面我们来说一说他们的用法。


一、Math数学对象

//Math数学对象 直接使用属性和方法

//最大最小值使用方法一样(Math.min),这里说下最大值:
            console.log(Math.PI);//圆周率
            console.log(Math.max(1,99,202));//202
            console.log(Math.max(-1,-10));//-1
            console.log(Math.max(1,9,'我不是数字哈哈'));//有非数字的返回NaN、
            console.log(Math.max());//什么都没有返回负无穷-Infinity

//Math绝对值
            console.log(Math.abs(-88));//取绝对值
            console.log(Math.abs('-1'));//隐式转换,字符串的-1转换为数字

//三个取整方法
            console.log(Math.floor(6.9));//6 向下取整 往最小的取值
            console.log(Math.ceil(1.1));//2 向上取整 往最大的取值
            console.log(Math.round(2.5));//3 四舍五入

//随机数方法Math.random()
//不跟参数

            console.log(Math.random());//返回一个随机的小数 0<=x<1
//如果取两个数之间的随机整数,并且包含这2个整数的范围。
            function getRandom(min,max){
                return Math.floor(Math.random()*(max-min-1))+min;
            }
            console.log(getRandom(1,10));

例题: 猜数字小游戏

//学会运用随机数
            function getRandom(min,max){
                return Math.floor(Math.random()*(max-min-1))+min;
            }
            var random=getRandom(1,50);
            var cout=0;
            do{
                var num=prompt('输入你猜的数1-50:');
                cout++;
                if(random==num){
                    alert('猜对了');
                    break;
                }
                if(random>num){
                    alert('猜小了');
                }
                if(random                     alert('猜大了')
                }
                if(cout==8){
                    alert('八次机会都没猜对,你不适合买彩票');
                    break;
                }
            }while(true);

二、Date日期对象

//日期对象 Date是一个构造函数 必须new 不new不能用

        var data=new Date();//创建一个日期对象
        console.log(data);//如果没有参数 返回当前时间

//格式化日期 年月日 周
            var date3=new Date();
            console.log(date3.getFullYear());//返回当前的年 2022
            console.log(date3.getMonth()+1);//返回的月份小一个月(0-11月) 所以月份+1才是当前月份
            console.log(date3.getDate());//返回当前的为几号
            console.log(date3.getDay());//返回周几 周一到周六(1-6) 周日返回0

//获取时分秒
            var date4=new Date();
            console.log(date4.getHours());//获取当前小时
            console.log(date4.getMinutes());//获取当前分数
            console.log(date4.getSeconds());//获取当前秒数

//总的毫秒数(时间戳) 1970年1月1号开始计算 距离这个时间到现在过了多少毫秒
            //1.通过valueOf() getTime()
            var date5 =new Date();
            console.log(date5.valueOf());//现在时间到1970.1.1总毫秒数
            console.log(date5.getTime());
            //2.简单写法
            var date6=+new Date();//+new 就是返回总的毫秒数
            console.log(date6);
            //3.H5新增的 获得总的毫秒数
            console.log(Date.now());

//例题 倒计时(用时间戳)
            function countDown(time){
                var inputTime=+new Date(time);//用户输入的时间转换成时间戳
                var nowTime=+new Date();//当前时间转换成时间戳
                var times=(inputTime-nowTime)/1000;//剩余的时间转换成秒
                var day=parseInt(times/60/60/24);//得到天数
                day=day<10? '0'+day:day;//三元运算符判断
                var h=parseInt(times/60/60%24);//得到小时
                h=h<10? '0'+h:h;
                var m=parseInt(times/60%60);//得到分
                m=m<10? '0'+m:m;
                var s=parseInt(times%60);//得到秒
                s=s<10? '0'+s:s;
                return '剩余完成时间:'+day+'天'+h+'时'+m+'分'+s+'秒';
            }
            console.log(countDown('2022-4-25 00:00:00'));

三、数组对象

//检测是否为数组2种方式
            //1.instanceof 运算符 用来检测是否为数组
            var arr2=[];
            var obj={};
            console.log(arr2 instanceof Array);//格式 返回true
            console.log(obj instanceof Array);//格式 返回false
            //2.Array.isArray(参数)
            console.log(Array.isArray(arr2));//返回 true
            console.log(Array.isArray(obj));//返回 false

//添加数组2种方法
            //1.push() 在数组末尾添加一个或者多个数组元素
            var arr3=[1,2,3];
            //arr3.push(4,'pink老师');//添加二个元素
            console.log(arr3.push(4,'pink老师'));//返回数组长度
            console.log(arr3);
            //(1).可以给数组后面添加数组元素 (2).参数直接写数组元素就可以 (3).push完毕后返回新数组长度 (4).原数组也会更新
            
          //2.unshift 在数组开头添加一个或者多个数组元素
            // arr3.unshift('red','purple');
            console.log(arr3.unshift('red','purple'));//也是返回数组长度
            console.log(arr3);
            //(1).可以给数组前面添加数组元素 (2).参数直接写数组元素就可以 (3).unshift完毕后返回新数组长度 (4).原数组也会更新

//删除元素2种方法
            //1.pop() 删除数组的最后一个元素
            // arr3.pop();
            console.log(arr3.pop());//返回删除元素
            console.log(arr3);
            //(1).pop可以删除数组最后一个元素 (2).pop没有参数 (3).pop完毕后返回被删除的元素 (4).原数组也会更新
            
            //2.shift() 删除数组的第一个元素
            // arr3.shift();
            console.log(arr3.shift());//返回删除元素
            console.log(arr3);
            //(1).shift可以删除数组第一个元素 (2).shift没有参数 (3).shift完毕后返回被删除的元素 (4).原数组也会更新

//获取数组元素索引的2种方法
            // 1.indexOf() 从前往后查找 一般用这个
            var arr7=['pink','red','blue','red'];
            console.log(arr7.indexOf('red'));//返回1,red对应的数组下标 只返回第一个满足条件的索引号
            console.log(arr7.indexOf('green'));//数组中没有该元素则返回-1
            //2.lastindexOf() 从后往前查找
            console.log(arr7.lastIndexOf('red'));//返回3 从后往前查找
            console.log(arr7.lastIndexOf('green'));//数组中没有该元素则返回-1

//例题  数组去重unique独一无二的
            function unique(arr8){
                var newArr8=[];
                for(var i2=0;i2                     if(newArr8.indexOf(arr8[i2])===-1){//新数组没有该元素
                        newArr8.push(arr8[i2]);//添加到新数组
                    }
                }
                return newArr8;
            }
            var arr8=['c','a','z','a','x','a','x','c','b'];
            console.log(unique(arr8));//cazxb

四、字符串对象

//根据字符返回位置 str.indexOf('要查找的字符',[可选 起始的位置])
            var str3='改革春风吹满地,春天来了';
            console.log(str3.indexOf('春'));//2
            console.log(str3.indexOf('春',3));//8 从索引号3的位置往后查找

//根据位置返回字符
            //1.charAt(index)根据位置返回字符
            var str5='andy';
            console.log(str5.charAt(3));//返回y

         //2.charCodeAt()返回字符对应的ASCII码 目的:判断用户按的那个键
            console.log(str.charCodeAt(0));//97
           //3.str[index] H5新增的
            console.log(str5[2]);//d

//字符串的操作方法
            //1.concat()
            var str7='andy';
            console.log(str7.concat('red'));//相当于+拼接字符串
            //substr(开始,取几个)
            var str8='改革春风吹满地';
            console.log(str8.substr(2,3));//春风吹

//1.替换字符 replace('被替换的字符','替换为的字符')
            var str10='andy';
            console.log(str10.replace('a','b'));//bndy 只会替换第一个字符

//2.字符转换为数组 split('分隔符') join把数组转换为字符串
            var str12='red,pink,blue';
            console.log(str12.split(','));//遇到逗号隔开一个
            var str13='red&pink&blue';
            console.log(str13.split('&'));

//转换字符串的大小写 toUpperCase()转为大写  toLowerCase()转为小写
            var str14='abABC';
            console.log(str14.toUpperCase());//ABABC
            console.log(str14.toLowerCase());//ababc

//例题 统计出现最多的字符和次数
            var o1={};
            for(var i4=0;i4                 var chars=str15.charAt(i4);
                if(o1[chars]){
                    o1[chars]++;
                }else{
                    o1[chars]=1;
                }
            }
            var max1=0;
            var ch1='';
            for(var key in o1){
                if(o1[key]>max){
                    max1=o1[key];
                    ch1=key;
                }
            }
            console.log(ch1+' '+max1);


总结

这里只列出Math、Date、Array、String的内置对象,没有必要把每种方法都记住,我们只要记得有这个自带的功能就好了。还是以查文档为基础,当然啦,要是能记住那是最好的,在用到时可以节省不少的时间。

你可能感兴趣的:(javascript)