• JS的Date对象和JSON对象及RegExp对象,如何自定义对象?


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>标题</title>
    </head>
    <body>
    
        <script>
            /* 自定义对象({}),可以看成是python中的字典,但是js中的自定义对象要比python里面的字典操作起来更加方便 */
            // 第一种创建自定义对象
            var d={'name':'jason', 'age':18};
            console.log(typeof d); // object
    
            // 对象取值
            console.log(d['name']); // 'jason'
            console.log(d.age); // 18
    
            // 对象支持for循环
            for (let i in d) {
                console.log(i, d[i])
            }; // ES6 新增了let命令,用来声明局部变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束
    
            // 第二种创建自定义对象,使用关键字new
            var d1=new Object();
            d1.name='mike';
            d1.age=19;
            console.log(d1); // {'name': 'mike','age': 19}
    
    
            /* Date对象 */
            let t1=new Date();
            console.log(t1); // Wed Jul 14 2021 13:57:20 GMT+0800 (中国标准时间)
            console.log(t1.toLocaleString()); // 2021/7/14下午1:58:00
            console.log(t1.toLocaleDateString()); // 2021/7/14
            console.log(t1.toLocaleTimeString()); // 下午1:58:51
    
            let t2=new Date('2022/6/15 15:30:30');
            console.log(t2); // Wed Jun 15 2022 15:30:30 GMT+0800 (中国标准时间)
            console.log(t2.toLocaleString()); // 2022/6/15下午3:30:30
    
            let t3=new Date(2023,11,29,18,30,59); // 要注意月份,0-11,是从0开始计数的(11代表的是12月份)
            console.log(t3); // Fri Dec 29 2023 18:30:59 GMT+0800 (中国标准时间)
            console.log(t3.toLocaleString()); // 2023/12/29下午6:30:59
    
            // Date对象具体方法
            let t4=new Date();
            console.log(t4.getDate()); // 14,获取日(月份的日)
            console.log(t4.getDay()); // 3,获取星期(一周的星期)
            console.log(t4.getMonth()); // 6,获取月份(0-11),打印6说明是7月份
            console.log(t4.getFullYear()); // 2021,获取完整的年份
            console.log(t4.getHours()); // 14,获取小时
            console.log(t4.getMinutes()); // 8,获取分钟
            console.log(t4.getSeconds()); // 30,获取秒
            console.log(t4.getMilliseconds()); // 661,获取毫秒
            console.log(t4.getTime()); // 1626242910661,时间戳
    
    
            /* JSON对象(json序列化和反序列化,作用在于不同语言之间的数据交互) */
            var res={'name':'aelx', 'age':20};
            var s1=JSON.stringify(res); // JSON.stringify()序列化,对应python的dumps
            console.log(s1); // "{"name":"aelx","age":20}"
            var s2=JSON.parse(s1); // JSON.parse()反序列化,对应python的loads
            console.log(s2); // {name: "aelx", age: 20}
        </script>
    
    </body>
    </html>
    /* RegExp对象 */
    // 第一种创建
    var reg1=new RegExp('^[a-zA-Z][a-zA-Z0-9]{5,11}');
    // 第二种创建
    var reg2=/^[a-zA-Z][a-zA-Z0-9]{5,11}/;
    // 匹配内容
    console.log(reg1.test('mikedsb')); // true
    console.log(reg2.test('mikedsb')); // true
    // 题目---获取字符里面所有的字母'o'
    let s='egon gon on';
    console.log(s.match(/o/)); // 字符串有一个match()方法;["o", index: 2, input: "egon gon on", groups: undefined]拿到一个就停止了
    console.log(s.match(/o/g)); // ["o", "o", "o"],全局匹配,后面加一个g
    // 坑1---全局匹配模式的lastIndex属性
    var reg2=/^[a-zA-Z][a-zA-Z0-9]{5,11}/g;
    console.log(reg2.test('helloworld')); // true,全局模式有一个lastIndex属性,匹配为ture那么会停留在此字符串的后一位,下一次匹配时是接着在这个位置进行匹配,而后面什么都没有了,所以下一次匹配肯定是false,匹配为false时又重新回到字符串开始位置
    console.log(reg2.lastIndex); // 10
    console.log(reg2.test('helloworld')); // false
    console.log(reg2.lastIndex); // 0
    // 坑2---传入内容为空默认是undefined
    var reg3=/^[a-zA-Z][a-zA-Z0-9]{5,11}/;
    console.log(reg3.test()); // true;什么都不传,默认传undefined

    while True: print('studying...')
  • 相关阅读:
    jvm详解
    JVM堆外内存
    Guava基本使用
    Mondrian开源OLAP引擎详解
    Java8新特性简明教程
    TCP/IP协议三次握手和四次挥手详解
    Go 方法与函数区别
    Go 通道 Chan 详解
    kylin详细介绍
    计数排序
  • 原文地址:https://www.cnblogs.com/xuewei95/p/15010890.html
Copyright © 2020-2023  润新知