zoukankan      html  css  js  c++  java
  • 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...')
  • 相关阅读:
    C++笔记(1)----此运算符函数的参数太多
    算法学习(6)----整数转换为格雷码
    算法学习(5)----二叉树前序、中序、后序遍历互相转换
    算法学习(4)----汉诺塔递归算法和非递归算法
    算法学习(3)----求数组中大小最接近的两个元素的差
    算法学习(2)----丢番图方程
    9.11 Django视图 view和路由
    9.11 Django关于母版语言的灵活用法
    9.10Django模板
    9.9Dajngo MTV
  • 原文地址:https://www.cnblogs.com/xuewei95/p/15010890.html
Copyright © 2011-2022 走看看