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...')
原文地址:https://www.cnblogs.com/xuewei95/p/15010890.html