js——常用对象:Math,String,Array,Date

在MDN中可以找到这些对象的所有方法
1.Math对象

     /**
     * 实例对象:通过构造函数创建出来,实例化的对象
     * 静态对象;不需要创建,直接就是一个对象
     */

    //Math.max();
    //自己定义一个对象,实现系统的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 mymath=new Mymath();//对象实例化
    var result=mymath.getMax(20,30,1,4,5,23,56,100);
    console.log(result);

    //Math.random();随机产生16进制颜色值,封装成一个函数值
    function getColor(){
        var str="#";
        //一个十六进制的值的数组
        var arr=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
        for(var i=0;i<6;i++){
            //产生的每个随机数都是一个索引,根据索引找到数组中对应的值,拼接到一起
            var num=parseInt(Math.random()*16);
            str+=arr[num];
        }
        return str;
    }
    window.function (){
        document.getElementById("dv").style.backgroundColor=getColor();
    };
    console.log(getColor());

2.Date对象

  //Date对象
  //        var date=new Date();
  //        console.log(date);//当前的时间-----当前服务器
     var date=new Date("2019-08-12");//"2019/08/12"也可以
     console.log(date);//传入的时间

    var dt=new Date();
    console.log(dt.getFullYear());//获取年份
    console.log(dt.getMonth()+1);//获取月份,从0开始
    console.log(dt.getDate());//获取日期
    console.log(dt.getHours());//获取小时
    console.log(dt.getMinutes());//获取分钟
    console.log(dt.getSeconds());//获取秒
    console.log(dt.getDay());//获取星期

    var dt1=new Date();
    console.log(dt1.toString());//转化成字符串
    console.log(dt1.toDateString());//英文格式--日期
    console.log(dt1.toLocaleDateString());//数字格式--日期
    console.log(dt1.toTimeString());//英文格式--时分秒
    console.log(dt1.toLocaleTimeString());//数字格式--时分秒
    console.log(dt1.valueOf());//毫秒数

    var dt2=+new Date();//一种特殊的写法,只适用于Date这个对象
    console.log(dt2);//毫秒

3.String对象

       //String 对象
        var str="hello";//字符串可以看成是一个字符数组
        for(var i=0;i<str.length;i++){
            console.log(str[i]);
        }
        //字符串特性:不可变性,字符串的值是不能改变
        var str1="hello";
        str1[1]="w";
        console.log(str1);
        var str2="你好";
        str2="不好";//重新赋值----改变的是地址
        console.log(str2);

        /**
         * 字符串的常用属性:
         * .length-----字符串长度
         * .charAt(索引)-----返回指定字符
         * String.fromCharCode(数字值--可以是多个参数)-----ASCII码
         * .concat(字符串1,字符串2,....)----合并字符串
         * .indexOf(要找的字符串,从某个位置开始的索引)-----第一次出现的指定值的索引
         * .lastIndexOf(要找的字符串)-----最后一次出现的指定值的索引
         * .replace(原来的字符串,新的字符串)-------替换字符串
         * .slice(开始的索引,结束的索引)------提取新的字符串并返回
         * .split(要干掉的字符串,切割后留下的个数)------切割字符串,返回数组
         * .substr(开始的位置,所截取的长度)------返回的是截取后的字符串
         * .substring(开始的索引,结束的索引)------返回的是截取后的字符串,不包含结束的字符
         * .toLowerCase()/.toLocaleLowerCase()-----转换为小写
         * .toLocaleUpperCase()/.toUpperCase()-----转大写
         * .trim()------去掉字符串中两端的空格
         */
//        var str3="12345";
//        console.log(str3.length);
//        console.log(str3.charAt(2));
//        console.log(String.fromCharCode(83,79,83));
//        console.log(str3.concat(str));
//        console.log(str3.indexOf("3",1));
//        var str4="rhello world";
//        console.log(str4.lastIndexOf("r"));

//        if(str4.indexOf("rhello")!=-1){
//            str4=str4.replace("rhello","你好");
//        }else{
//            console.log("不存在");
//        }
//        console.log(str4);

        //console.log(str4.slice(1,4));//从索引1开始提取到索引4结束,不包括4-----输出:hel
//        str4="T|F|B|O|Y|S";
//        var arr=str4.split("|",4);
//        for(var j=0;j<arr.length;j++){
//            console.log(arr[j]);
//        }
//        console.log(str4.substr(4,4));
//        console.log(str4.substring(4,9));
//        var str5="HELLO";
//        console.log(str5.toLocaleLowerCase());//hello
//        console.log(str5.toLowerCase());//hello
//        var str6="hello";
//        console.log(str6.toLocaleUpperCase());//HELLO
//        console.log(str6.toUpperCase());//HELLO
//        var str7="    O,      hjhhhgg    ";
//        console.log("====="+str7.trim()+"=====");

        //案例:截取指定字符
//        var s="helloworld";//截取wo
//        var key=prompt("请输入要截取的内容:");
//        var ind=s.indexOf(key);
//        console.log(s.substr(ind,2));
        //案例:找到字符串中所有o出现的位置
        var s1="hello wod odd ott fbo nbyo";
        var index=0;//开始的位置
        var key="o";//要找的字符串
        while((index=s1.indexOf(key,index))!=-1){
            console.log(index);
            index+=key.length;

        }
        //案例:找到这个字符串中每个字符出现的次数
        var s2="whatOareYyouYnoYshaHleiHoHmyHgod";
        //第一步:把所有字母变成小写
        s2=s2.toLocaleLowerCase();
        //第二步:创建一个空对象,目的:把字母作为键,次数作为值
        var obj={};
        //第三步:遍历字符串获取每一个字母
        for(var l=0;l<s2.length;l++){
            var key1=s2[l];
            if(obj[key1]){//判断对象中有没有这个字母
                obj[key1]++;
            }else{//没有,就把这个字母加到对象中,并将次数设为1
                obj[key1]=1;
            }
        }
        //遍历输出对象
        for(var key2 in obj){
            console.log("字母"+key2+"出现的次数为"+obj[key2]);
        }

4.Array对象

        //Array对象
        /**
         * Array.isArray(对象)-----------判断对象是不是Array类型
         * .concat()------拼接数组
         * .every(function (元素的值,索引,原来的数组(没用))---返回布尔类型)-------如果数组中的每一个元素都满足这个函数,返回true
         * .filter(函数)-----返回满足函数的元素组成的新数组
         * .push(值)------把值追加在数组中----返回值是新数组的长度
         * .pop()-----删除数组中最后一个元素---返回值是删除的值
         * .shift()-----删除数组中第一个元素---返回值是删除的值
         * .unshift()----向数组的第一个元素前面插入新元素-----返回值是新数组的长度
         * .forEach(函数)----遍历数组中的元素
         * .indexof()-----找某个特定值的索引
         * .join("字符串")--------将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串------返回的是一个字符串
         * .map(函数)-------数组中的每个元素都要执行这个函数,返回新数组
         * .reverse()------反转数组
         * .sort((function (a,b){
                  if(a>b){
                          return 1;
                  }else if(a==b){
                          return 0;
                  }else{
                          return -1;
                  }
                })------(不稳定)排序


         * .slice(开始索引值,结束索引值);------截取对应数组,包括头不包括尾
         * .splice(索引位置,删除个数,插入的元素)--------删除数组中的元素,或替换元素,或添加元素
         * /


        /**
         * 判断变量是不是数组类型
         * 1 instanceof
         * 2 .isArray
         */
        var obj=[];
        console.log(obj instanceof Array);
        console.log(Array.isArray(obj));
        //.from();
        var arr=["a","b","c","d"];
        var newarr=Array.from(arr);
        console.log(newarr);
        //.concat();
        var arr1=[10,20];
        var arr2=[30,40];
        console.log(arr1.concat(arr2));//[10,20,30,40]
        //.every();
        var arr3=[1000,2000,3000];
        var flag=arr.every(function (a,b){
            return a>2000;
        });
        console.log(flag);//false
        //.filter();
        var arr4=[10,20,30,40,50,60,70];
        var newarr4=arr4.filter(function (ele){
            return ele>40;
        });
        console.log(newarr4);
        //案例:去掉数组中重复的0
        var arr5=[1,2,3,0,6,7,0,4,7,0,4,5,0];
        var newarr5=arr5.filter(function (ele){
            return ele!=0;
        });
        console.log(newarr5);

//        arr4.push(100);//追加
//        console.log(arr4);
//        console.log(arr4.push(100));

//        arr4.pop();
//        console.log(arr4.pop());
//        console.log(arr4);

//        arr4.shift();
//        console.log(arr4.shift());
//        console.log(arr4);

//        arr4.unshift(0);
//        console.log(arr4.unshift());
//        console.log(arr4);

//        arr4.forEach(function (ele,index,arr){
//            console.log(ele+"-----"+index);
//        });

        console.log(arr4.indexOf(30));
        console.log(arr4.join("|"));
        var num=[1,0,3,2,4,9];
    //    var roots=num.map(Math.sqrt);//开方
     //   console.log(roots);
//        console.log(num.reverse());//反转
//        console.log(num.sort(function (a,b){
//            if(a>b){
//                return 1;
//            }else if(a==b){
//                return 0;
//            }else{
//                return -1;
//            }
//        }));
//        console.log(num.slice(1,5));//截取数组
//        num.splice(2,0,6);//在索引2的位置添加6,不删除任何元素
//        console.log(num);
        num.splice(2,2,6);//删除索引2,3的元素,在索引2的位置添加6
        console.log(num);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值