系列文章
Chapter01—基础篇
Chapters---基本引用类型
一、Date和RegExp
1.Date:
创建Date对象:
使用new操作符来调用Date构造函数,例如:let date = new Date();Date.parse():
它接受以下几种参数之一(String 类型),并返回一个表示该日期的毫秒(Number类型);该方法会被Date构造函数隐式调用:
1.“月/日/年”,如“5/6/2022”
2.“月名 日, 年”,如“May 23, 2022”
3.“周几 月名 日 年 时:分:秒:时区”
4.“YYYY-MM-DDTHH:mm:ss:sssZ”const t = Date.parse("5/6/2022"); console.log(t); // 1651766400000 console.log(typeof t); // number let date1 = new Date(t); //Fri May 06 2022 00:00:00 GMT+0800 (中国标准时间) //隐式调用parse() let date2 = new Date("5/6/2022"); //Fri May 06 2022 00:00:00 GMT+0800 (中国标准时间)Date.UTC():
与Date.parse()功能类似,它接收参数的次序依次是年、月(0–11)、日、时分、秒、毫秒,返回毫秒数,其中年和月是必须的;该方法会被Date构造函数隐式调用。const t = Date.UTC(2022, 5); console.log(t); // 1654041600000 let date1 = new Date(t); // Wed Jun 01 2022 08:00:00 GMT+0800 (中国标准时间) //隐式调用UTC() let date2 = new Date(2022, 5); // Wed Jun 01 2022 08:00:00 GMT+0800 (中国标准时间)Date.now():
返回该方法执行时的日期和时间的毫秒数。let now = Date.now();toString():
返回带时区信息的日期和时间,如“Thu Jun 02 2022 08:42:22 GMT+0800 (中国标准时间)”。let date = new Date(2022, 5); console.log(date.toString()); // Wed Jun 01 2022 08:00:00 GMT+0800 (中国标准时间)toLocaleString():
返回“YYYY/MM/DD HH:mm:ss”格式的时间,如“2022/5/6 00:00:00”。let date = new Date(2022, 5); console.log(date.toLocaleString()); // 2022/6/1 00:00:00valueOf():
返回日期和时间的毫秒数,“1655987685010”。let date = new Date(2022, 5); console.log(date.valueOf()); // 1654012800000日期格式化方法:
1.toDateString():返回 “周几 月 日 年”, 如“Thu Jun 02 2022”。
2.toTimeString():返回带时区的“HH:mm:ss 时区”,如"08:52:15 GMT+0800 (中国标准时间)"。
3.toLocaleDateString():返回“YYYY/MM/DD”,如“2022/05/06”。
4.toLocaleTimeString():返回“HH:mm:ss”,如“12:23:23”。
5.toUTCString():返回“周几,日 月 年 时:分:秒 GMT。
2.RegExp:
-
正则匹配模式的标记:
1.g:全局模式,表示查找字符串的全部内容。
2.i:忽略大小写模式。
3.m:多行模式,表示查找到一行文本末尾时会继续查找。
4.y:粘附模式,表示只查找从lastIndex开始及之后的字符串。
5.u:Unicode模式,开启Unicode匹配。
6.s:dotAll模式,表示元字符,匹配任何字符。 -
正则实例方法:
1.exec():返回一个数组或者null。
2.test():返回布尔值。let pattern = /(.at){1,}/g; console.log(pattern.exec("That boy is strong, he likes cat")); console.log(pattern.test("That boy is strong, he likes cat"));
二、原始值包装类型
1.Boolean
Boolean是对应布尔值的引用类型,通过new操作符来创建一个Boolean对象;较少使用。
let booleanObj = new Boolean(true);
2.Number
Number是对应布尔值的引用类型,通过new操作符来创建一个Number对象。
let numberObj = new Number(true);
相关方法:
toFixed(n):返回一个小数位保留n位的字符串数字。sInteger(),isSafeInteger():判断一个数是否是整数,或安全整数。- 代码示例:
const numberObj = new Number("23.5"); console.log(typeof numberObj.toFixed(0));//string console.log(Number.isInteger(23));//true console.log(Number.isSafeInteger(2**55));//false,不是安全整数
3.String
String是对应布尔值的引用类型,通过new操作符来创建一个String对象。
let stringObj = new String("false");
相关方法:
charAt():返回给定索引位置的字符。charCodeAt():返回给定字符的字符编码。codePointAt():接收十六位码元的索引值并返回该索引位置上的码点,码点是Unicode中的一个字符的完整标识符。fromCodePoint(): 接收任意数量的码点,并返回对应字符拼接的字符串。fromCharCode(): 接收一个字符编码,并返回对应的字符。concat(): 将一个或多个字符串拼接成一个新的字符串并返回。slice(),substring(),substr(): 返回一个子串。indexOf():返回给定字符所在字符串的索引值。startWith()、endWith()、includes(): 判断一个字符串中是否包含另一个字符串。trim(): 将字符串前后的空格去掉并得到一个新字符串,返回这个新字符串。repeat():将给定字符串复制多次并返回。padStart()、padEnd():填充字符,并返回一个新的字符串,默认填充为空格字符。toUpperCase()、toLocaleUpperCase()、toLowerCase()、toLocaleLowerCase():大小写转换。match():与RegExp的exec()方法类似。search():在字符串中查找给定正则模式的子串的开始位置。replace():字符串替换。localCompare():按照字母表顺序比较两个字符串,并返回(0, -1, 1)中的一个值。- 代码示例:
console.log("c".charCodeAt()); console.log(String.fromCharCode(65));//A console.log(strObj.charAt(2)); console.log(String.fromCodePoint(128525));//😍 console.log("😊".codePointAt()); console.log(strObj.slice(1, 2));//3 console.log(strObj.substr(1, 2));//34 console.log(strObj.substring(1, 2));//3 console.log(strObj.indexOf("2"));//0 console.log(" assd ".trim());//assd console.log("ha ".repeat(6)+`😍`); console.log("1213".padStart(1)); console.log("1213".padEnd()+"123"); console.log("12werd".toUpperCase()); console.log("12werd".toLocaleUpperCase()); console.log("12weGGGrd".toLocaleLowerCase()); console.log("1234124".match(/\d/g)); console.log("12ddqdGG".search(/[A-Z]/g)); console.log("ha ha ha ha".replace(/ha/g, `😍`)); console.log("ha".localeCompare(`ia`));//-1
三、 Global对象
当一个函数在没有明确指定this值的情况下执行时,this值等于Global对象;在浏览器中window作为Global的代理对象。
1.URL编码:
encodeURI()、encodeURIComponent():
两个方法功能类似,都是进行编码,但是前者不会编码 属于URL组件的特殊字符,如冒号,斜杠,问好等。decodeURI()、decodeURIComponent():
两个方法功能类似,都是进行解码,但是前者不会编码 属于URL组件的特殊字符,如冒号,斜杠,问好等。- 代码示例
const uri = "http://www.work.com/illegal value.js#start"; const deuri = "http%3A%2F%2Fwww.work.com%2Fillegal%20value.js%23start" console.log(encodeURI(uri)); //http://www.work.com/illegal%20value.js#start console.log(encodeURIComponent(uri)); //http%3A%2F%2Fwww.work.com%2Fillegal%20value.js%23start console.log(decodeURIComponent(deuri)); //uri console.log(decodeURI(`http://www.work.com/illegal%20value.js#start`)); //uri
2.eval():
它就是一个完整的ECMAScript解释器。
eval("console.log(Math.max(23, 45));"); // 45
本文详细介绍了JavaScript中的Date对象,包括创建、Date.parse(), Date.UTC(), Date.now()等方法的使用。同时讲解了正则表达式(RegExp)的模式标记及实例方法。还探讨了原始值包装类型Boolean, Number, String的相关方法。最后,讨论了Global对象中的URL编码方法和eval()函数。
4417

被折叠的 条评论
为什么被折叠?



