Date对象和String类型

Date对象和String类型

2. Math对象

2.1 取整

  • parseInt 取整 舍弃小数部分

  • Math.floor 向下取整 舍弃小数部分

  • Math.ceil 向上取整 有小数就进位

  • Math.round 四舍五入

2.2 数学方法

  • Math.max(数值1,数值2,数值3.....) 找序列中最大的值

  • Math.min(数值1,数值2,数值3.....) 找序列中最小的值

  • Math.abs 取绝对值

  • Math.sqrt 开根号

  • Math.pow(num,n) 次方幂 num底数 n 次方幂

2.3 随机数

  • Math.random() 随机生成0-1之间的数据 包括0不包括1

  • 随机生成min到max之间的整数

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

3.时间对象Date

==月份单词==

January:一月     February:二月      March:三月       April:四月 
May:五月      June:六月    July:七月    August:八月   
September:九月    October:十月    November:十一月      December:十二月

3.1 创建时间对象

  • 创建当前时间对象

<script>
        // 1.创建当前这一时刻的时间对象
        var oDate =   new Date();
        console.log(oDate);// Thu Sep 01 2022 09:57:06 GMT+0800 (中国标准时间)
​
        // 2.创建每秒的时间
        setInterval(function(){
            var a = new Date();
            // console.log(a,"现在时刻");
        },1000) 
    </script>
  • 创建自定义时间

        //a. 自定义的时间是一个字符串
        var sDate =  new Date("2023,1,1,12:00:00");
        var sDate =  new Date("2023 1 1 12:00:00");
        var sDate =  new Date("2023/1/1 12:00:00");
        var sDate =  new Date("2023-1-1 12:00:00");
        console.log(sDate);//Sun Jan 01 2023 12:00:00 GMT+0800 (中国标准时间)
​
        //b. 时间分开接受参数  创建2023年10月1日  12:00:00的时间
        // 问题  想创建10月   但是结果出来的是11月  
        // 分析原因: 月份是从0开始的   0-1月   10-11月
        var aDate = new Date(2023,9,1,12,0,0)  //想创建10月  就给9
        console.log(aDate);// Sun Oct 01 2023 12:00:00 GMT+0800 (中国标准时间)
​
        var bDate =  new Date(2023,9,1);
        console.log(bDate);// Sun Oct 01 2023 00:00:00 GMT+0800 (中国标准时间)

3.2 获取时间

  • 获取特定格式的时间

 var  oDate = new Date();
        // 年月日  时分秒  日期
        console.log(oDate);//Thu Sep 01 2022 10:39:02 GMT+0800 (中国标准时间)
​
        // 1.获取特定格式的时间    年  月  日
        console.log(oDate.toDateString());//Thu Sep 01 2022
        console.log(oDate.toLocaleDateString());//2022/9/1
​
        // 2.获取特定格式的时间    时  分  秒
        console.log(oDate.toTimeString());//10:41:30 GMT+0800 (中国标准时间)
        console.log(oDate.toLocaleTimeString());// 10:42:02
  • 获取单个时间

        // 3.获取单个时间
        // 年
        console.log(oDate.getFullYear());//2022\
        // 月  月份是从0开始  0----1月份   8----9月份
        console.log(oDate.getMonth() + 1);//9
        // 日
        console.log(oDate.getDate());// 1
        // 时
        console.log(oDate.getHours());
        // 分钟
        console.log(oDate.getMinutes());
        // 秒
        console.log(oDate.getSeconds());
        // 星期  ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
        console.log(oDate.getDay());//4
  • 获取时间戳

       // 4.获取现在的时间戳   1970年1月1日0:0:0 到现在时刻的毫秒
        console.log(oDate.getTime())
​
        // 5.获取未来时间的时间戳      1970年1月1日0:0:0 到2023年10月1日的毫秒
        var sDate = new Date("2023,10,1")  
        console.log(sDate);//Sun Oct 01 2023 00:00:00 GMT+0800 (中国标准时间)
        console.log(sDate.getTime());//1696089600000

3.3 倒计时

  • 实现思路:倒计时 未来时间的时间戳-现在时间的时间戳 = 差值(毫秒单位)

  • ==注意==

    • 1天 24 * 60 * 60 86400s

    • 1时 60*60 3600s

    • 1分 60 60s

 <script>
        auto();
        setInterval(auto, 1000)
        function auto() {
            // 1.倒计时  未来时间的时间戳-现在时间的时间戳 = 差值(毫秒单位)
            // 创建未来时间
            var futureDate = new Date("2022,9,3");
            // 创建现在时间
            var currentDate = new Date();
            // 时间差  毫秒单位转成秒  1s  = 1000ms
            var time = futureDate.getTime() - currentDate.getTime();
            time = parseInt(time / 1000);
            // console.log(time);// 131680
            // 将time 转为 天 时 分 秒
            /* 
                1天  24*60*60  86400s
                1时  60*60     3600s
                1分  60        60s
            */
            var t = parseInt(time / 86400);
            console.log(t);
            var h = parseInt((time % 86400) / 3600);
            console.log(h);
            var m = parseInt((time % 86400 % 3600) / 60);
            console.log(m);
            var s = time % 60;
            console.log(s);
            // 将结果显示在页面上
            document.body.innerHTML = "还剩余" + suppleZero(t) + "天" + suppleZero(h) + "时" + suppleZero(m) + "分" + suppleZero(s) + "秒"
​
        }
​
​
        function suppleZero(num) {
            return num < 10 ? "0" + num : num;
        }
    </script>

4.字符串对象

4.1 创建字符串对象

  • 字面量创建

 // 1.字面量创建 (包装类对象 是使用字符串的方法的之后 会暂时将自己伪装成一个对象)
        var str1 = "0711web";
        console.log(str1);//0711web
        console.log(typeof str1);// string
        console.log(str1.length);// 7
      
  • new关键字创建

  // 2.new 关键字创建
        var str2 =  new String("0711web");
        console.log(str2);//String {'0711web'}
        console.log(typeof str2);// object
        console.log(str2.length);//7

4.2 字符串的方法

length

  • 获取字符串长度

charAt

  • 语法:str.charAt(下标)

  • 作用 :获取下标对应的字符

        // length
        console.log(str1.length);//7
        // charAt(下标)
        console.log(str1.charAt(6));//b

charCodeAt

  • 语法:str.charCodeAt(下标)

  • 作用 :获取下标对应的字符编码

        // charCodeAt(下标)  "A"----65  "a"----97   "0"----48
        console.log(str1.charCodeAt(0));//48

indexOf

==从左往右查找==

  • 语法:str.indexOf(searchValue,index)

  • 作用 :查询一个字符串在另一个字符串中首次出现的位置 如果出现则是返回该字符串的下标位置 没有找到则是返回-1

  • 参数

    • searchValue:必需参数 需要查询的字符串

    • index:可选值 开始查找的位置 默认是从下标0开始查找

  // indexof
        var str2 = "webuiwebuiwebui";
        var s = "ui";
        console.log(str2.indexOf(s));// 3   ui的u的下标
​
        var s1 = "java"
        console.log(str2.indexOf(s1));// -1 
​
        var s3 = "ui";
        console.log(str2.indexOf(s3,5));//8 
​
        var str3 = "uiwebui";
        var s4 = "ui";
        console.log(str3.indexOf(s4));//0

lastindexof

==从右往左查找==

  • 语法 :str.lastindexOf(searchvalue,index)

  • 作用 :从字符串后面开始往前查找第一次出现的目标位置 如果找到返回正常的索引值 如果找不到则是返回-1

  • 参数

    • searchValue: 必需参数 需要查询的字符串

    • index:可选值 开始查找的位置 默认是从str.length-1开始查找

           // lastindexOf  了解
            var  str = "webuiwebjava";
            var  s1 = "web"
            console.log(str.lastIndexOf(s1));//5
            console.log(str.lastIndexOf(s1,3));//0

字符串截取方法

substring

  • 语法:str.substring(start,end)

  • 作用:截取介于两个指定下标之间的字符 包括start不包括end

  • 参数

    • start 开始截取的下标 可选值 默认是0

    • end 结束截取的下标 可选值 默认是str.length

 // 1.substring(start,end)
        var str1 = "webuiwebuiwebui";
        console.log(str1.substring());// webuiwebuiwebui
        console.log(str1.substring(2));// buiwebuiwebui
        console.log(str1.substring(2,4));// bu    

slice

  • 语法:str.slice(start,end)

  • 作用:截取介于两个指定下标之间的字符 包括start不包括end

  • 参数

    • start 开始截取的下标 可选值 默认是0

    • end 结束截取的下标 可选值 默认是str.length

 // 2.slice(start,end)
        var str2 = "webuiwebuiwebui";
        console.log(str2.slice());//webuiwebuiwebui
        console.log(str2.slice(3));//uiwebuiwebui
        console.log(str2.slice(3,6));//uiw      

slice和substring的区别

  • substring 会自动调整位置 slice不会自动调整位置

  • substring 碰见负数会默认为0 slice碰见负数认为倒数第几个

  // 3.区别
        var str3 = "abcdefg";
        console.log(str3.substring(2,0));//ab  自动调整位置 (0,2)
        console.log(str3.slice(2,0));//" " 不会自动调整位置
​
        console.log(str3.substring(2,-1));//ab   负数会默认为是0
        console.log(str3.slice(2,-1));//cdef     负数默认为倒数第几个
​
        var str4 = ["[object Object]","[object Function]","[object Array]"];
        console.log(str4[0].slice(8,-1));//Object
        console.log(str4[1].slice(8,-1));//Function
        console.log(str4[2].slice(8,-1));//Array
        for(var i = 0;i<str4.length;i++){
            console.log(str4[i].slice(8,-1))
        }      

substr

  • 语法 str.substr(start,length)

  • 作用:从哪开始截取 截取几个

  var str = "110123200010010987";
 console.log(str.substr(6,4))// 2000

大小写转换

toUpperCase

  • 语法 str.toUpperCase() 转大写

toLowerCase

  • 语法 str.toLowerCase() 转小写

  • 验证码不区分大小写

 <script>
        var str = "ABcdeff";
        console.log(str.toUpperCase());"ABCDEFF"; //转大写
        console.log(str.toLowerCase());"abcdeff"; //转小写
        // 验证码不区分大小写
        var str1 = "OpXy";  //系统给的验证码
        var  str2 = "apxy";  //用户输入的验证码
        if(str1.toLowerCase() == str2.toLowerCase()){   
            console.log("用户输入正确")
        }
    </script>

replace

  • 语法 str.replace(searchValue,replaceValue)

  • 作用 替换字符串中的某个字符 返回一个新的字符串 默认一次只能替换一个

  • 参数

    • searchValue 必需 将要被替换的字符串

    • replaceValue 必需 替换的字符

// replace(searchValue,replaceValue)
        var str = "Webuiwebuiwebui";
        var newStr =  str.replace("web","java");//将web字符串替换成java
        console.log(newStr,str)

trim

  • 语法 str.trim()

  • 作用 去除字符串的首尾空格

       // trim 去除字符串的首尾空格
        var  str = "  webui  webui   ";
        console.log(str.trim());   

split

  • 语法:str.split(分割标识)

  • 作用:将字符串根据特定标识分割成数组

    // split 将字符串根据特定标识分割成数组
        var date = "2022-9-1";//  [2022,9,1]
        var newDate =  date.split("-");
        console.log(newDate,date);// ['2022', '9', '1'] '2022-9-1'
        var name = "澄邈、德泽、海超"
        console.log(name.split("、"));// ['澄邈', '德泽', '海超']     

5.面试题

1-字符串的方法必须掌握
2-倒计时必须掌握
3-获取单个时间必须掌握
4-Math对象的取整必须掌握

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值