<!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