JavaScript 值类型使用

  • A+
所属分类:Web前端
摘要

类型判断: 字符串转义与模板字面量使用: 模板字面量嵌套使用技巧:

类型判断:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> </head> <style>  </style>  <body>      <script>         // let a = 1;         // console.log(typeof a);         // let b = '1';         // console.log(typeof b);         // let c = [1, 2, 3];         // console.log(typeof c);         // let d = { a: 1 };         // console.log(typeof d);          // function func() { }         // console.log(typeof func);         // let a;         // console.log(typeof a);         // console.log(typeof b);          // 记得判断时undefined一定要加引号         // if (typeof a == 'undefined') {         //     throw new Error('变量a没有定义~');         // }          // instanceof实质是判断原型链上有没有该属性         // let a = [];         // console.log(a instanceof Array);         // let b = {};         // console.log(b instanceof Object);          // 自己定义一个构造函数         // function User() { }         // let a = new User();         // console.log(a instanceof User);         // console.log(a instanceof Array);         // console.log(a instanceof Object);      </script> </body>  </html>

 

字符串转义与模板字面量使用:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> </head> <style>  </style>  <body>      <script>         // let str = new String('cyy');         // console.log(str);         // console.log(str.toString());          // // 字面量方式定义         // let str2 = 'cyy';         // console.log(str2);          // 字符串转义         // let str = "cyy is " hhh~";         // console.log(str);          // t 制表符         // let str = "aaa tt bbb";         // console.log(str);         // let str2 = "aaa \ bbb";         // console.log(str2);         // // n 源码中换行         // let str3 = "aaa n bbb";         // console.log(str3);          // html中用&nbsp;来实现空格,而不是t         // let str = "aaa &nbsp;&nbsp;&nbsp; bbb";         // document.write(str);         // // html中用<br/>来实现换行符,而不是n         // let str3 = "aaa <br/> bbb";         // document.write(str3);          // +号实现字符串的连接         // let a = 1;         // let b = 2;         // console.log(a + b);         // let a = 'cyy';         // let b = 'girl';         // console.log(a + ' is ' + b);          // 字面量形式实现字符串的连接         let a = 'cyy';         let b = 'girl';         console.log(`${a} is a ${b}`);     </script> </body>  </html>

 

模板字面量嵌套使用技巧:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>         ul {             list-style: none;         }          li {             padding: 10px;         }          li:nth-child(odd) {             background: lightgreen;             color: white;         }     </style> </head>  <body>      <script>         // let str = '111';         // str += '222';         // console.log(str);          // 模板字面量使用函数         // function show() {         //     return '111';         // }         // console.log(`num is ${show()}`);          // console.log(`num is ${3 + 4}`);          // let lessons = [         //     { title: 'title1' },         //     { title: 'title2' },         //     { title: 'title3' },         // ];         // function template() {         //     return `         //     <ul>         //         ${lessons.map(item => item.title)}         //     </ul>         //     `;         // };         // document.body.innerHTML = template();            // map()函数返回的是数组,使用join连接成字符串         let lessons = [             { title: 'title1' },             { title: 'title2' },             { title: 'title3' },         ];         // 模板字面量的嵌套         function template() {             return `             <ul>                 ${lessons.map(item => `                     <li>${item.title}</li>                     `).join('')}             </ul>             `;         };         document.body.innerHTML = template();     </script> </body>  </html>

JavaScript 值类型使用

 

 

神奇的标签模板实例操作:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>         ul {             list-style: none;         }          li {             padding: 10px;         }          li:nth-child(odd) {             background: lightgreen;             color: white;         }     </style> </head>  <body>      <script>         // let name = 'cyy';         // let age = 18;         // console.log(`${name} is ${age} years old.`);          // 标签模板的使用         // console.log(tag`${name} is ${age} years old.`);          // function tag(str, name, age) {         //     console.log(str);         //     console.log(name);         //     console.log(age);         // }         // function tag(str, ...args) {         //     console.log(str);         //     console.log(args);         // }           // let name = 'cyy';         // tag`${name}`;         // function tag(str, ...args) {         //     console.log(str);         //     console.log(args);         // }          let lessons = [             { title: 'title1', author: 'cyy1' },             { title: 'title2', author: 'cyy2' },             { title: 'title3', author: 'cyy3' }         ];         function template() {             return `                 <ul>                     ${lessons.map(item => links`<li>标题:${item.title},作者:${item.author}</li>`).join('')}                     </ul>             `;         }         // 标签模板的作用,对标签里的变量进行二次处理         function links(str, ...args) {             // console.log(str);             // console.log(args);             return str.map((item, key) => {                 return item + (args[key] ? args[key].replace('title', '<a href="http://www.baidu.com" target="_blank">title</a>') : '');             }).join('');         }         document.body.innerHTML += template();      </script> </body>  </html>

JavaScript 值类型使用

 

 

字符串基本函数使用:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>     <input type="text" name='pwd'>     <script>          // let name = "   cyy  CYY   ";         // console.log(name);         // console.log(name.length);         // console.log(name.toUpperCase());         // console.log(name.toLowerCase());         // // trim是去除字符串两边的空格,而不是中间的         // console.log(name.trim());         // console.log(name.trim().length);          // 校验密码时通常不允许有空格         // let pwd = document.querySelector('[name=pwd]');         // pwd.addEventListener('keyup', function () {          //     this.value = this.value.trim();         //     console.log(this.value.length);         // })          let name = "cyyhahaha";         console.log(name[3]);         console.log(name.charAt(3));          for (let i = 0; i < name.length; i++) {             let span = document.createElement('span');             span.innerHTML = name[i];             span.style.fontSize = (i + 1) * 10 + 'px';             // document.body.appendChild(span);             document.body.append(span);         }      </script> </body>  </html>

JavaScript 值类型使用

 

 

字符串截取操作:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>      <script>         // 字符串截取操作 slice substr substring          // 填写一个参数,就是从第几位开始截取,三个函数效果一样         let name = "cyyisis";         // console.log(name.slice(0));         // console.log(name.slice(1));         // console.log(name.substr(0));         // console.log(name.substr(1));         // console.log(name.substring(0));         // console.log(name.substring(1));          // slice和substring第二个参数表示截取到第几位,substr第二个参数表示截取几个         // console.log(name.slice(2, 4));         // console.log(name.substr(2, 4));         // console.log(name.substring(2, 4));          // 当第一个参数为负数时,slice和substr代表从后往前截取,substring会将负数识别为0         // console.log(name.slice(-3));         // console.log(name.substr(-3));         // console.log(name.substring(-3));          // 当一个参数时负数时         // slice第二个参数表示截取到第几位,所以是负数         console.log(name.slice(-3, -1));         // substr第二个参数表示截取几个,所以是正数         console.log(name.substr(-3, 3));         // substring会把负数全部识别为0         console.log(name.substring(-3, -1));     </script> </body>  </html>

 

检索字符串使用技巧:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>      <script>         // indexOf第一个参数表示要查找的字符,第二个参数表示从第几位开始查找         // const str = 'cyyiscyy';         // console.log(str.indexOf('y'));         // console.log(str.indexOf('y', 3));         // console.log(str.indexOf('y', 6));         // console.log(str.indexOf('y', 9));          // if (str.indexOf('y') != -1) {         //     console.log('字符串含有字符y');         // }          // includes直接判断字符串是否含有某个字符         // console.log(str.includes('y'));         // console.log(str.includes('o'));         // console.log(str.includes('y', 6));         // console.log(str.includes('y', 9));          // console.log(str.lastIndexOf('y'));         // // 从第三个字符开始向前查找         // console.log(str.lastIndexOf('y', 3));          // 判断是否以指定字符开始或者结束         // console.log(str.startsWith('c'));         // console.log(str.startsWith('y'));         // console.log(str.endsWith('c'));         // console.log(str.endsWith('y'));           const words = ['html', 'css', 'js'];         const str = '我在学习js呢';         const res = words.some(item => {             console.log(str.includes(item));             return str.includes(item);         });         if (res) {             console.log('找到了');         }     </script> </body>  </html>

 

字符串替换标题关键词:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>      <script>         // let name = 'cyy111';         // console.log(name.replace('111', '222'));          let words = ['html', 'css', 'js'];         let string = 'cyy在学习html,css和js';         const dom = words.reduce((pre, word) => {             return pre.replace(word, `<a href="?w=${word}">${word}</a>`);             // console.log(pre);             // console.log(word);         }, string);         document.body.innerHTML += dom;     </script> </body>  </html>

JavaScript 值类型使用

 

 

电话号码模糊处理:

 

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>      <script>         // repeat字符串的重复         // let str = '*';         // console.log(str.repeat(4));          function phone(number, len = 3) {             number = String(number);             len = len < number.length ? len : number.length;              return number.slice(0, len * -1) + '*'.repeat(len);         }         console.log(phone(13291990311));         console.log(phone(13291990311, 5));         console.log(phone(13291990311, 11));         console.log(phone(13291990311, 15));     </script> </body>  </html>

JavaScript 值类型使用

 

 

类型转换使用技巧:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>      <script>         // 字符串转数值         // let str = '99';         // console.log(str + 1);         // // 隐式转换         // console.log(str * 1 + 1);         // // 强制转换         // console.log(Number(str) + 1);          // 数值转字符串         // const num = 99;         // console.log(typeof num);         // // 隐式转换         // console.log(typeof (num + ''));         // // 强制转换         // console.log(typeof String(num));          // const str = '99.22hahaha';         // console.log(parseInt(str));         // console.log(parseFloat(str));         // const str = 'aaa99.22hahaha';         // console.log(parseInt(str));          // 字符串的拆分         // const str = "cyyisagirl";         // console.log(str.split(''));         // console.log(str.split('').length);          // 数组转字符串         // const arr = [11, 22, 33];         // console.log(arr.join(''));         // console.log(arr.join('-'));         // console.log(arr.join('|'));          // let str = 'cyyis hahaha';         // console.log(str.substr(3));         // 浏览器会隐式地把字符串转为对象,来调用方法         // console.log(typeof str);          // let str2 = new String('cyyis hahaha');         // console.log(str2.substr(3));         // console.log(typeof str2);          // 调用原型链上的方法         // const arr = [11, 22, 33];         // console.log(arr.toString());         // const num = 99;         // console.log(num.toString());     </script> </body>  </html>

 

boolean隐式转换原理:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>      <script>         // const boolean = new Boolean(false);         // console.log(typeof boolean);         // console.log(boolean.valueOf());         // if (boolean.valueOf()) {         //     console.log(111);         // } else {         //     console.log(222);         // }          // 字面量形式         // const boolean = true;         // console.log(typeof boolean);         // if (boolean) {         //     console.log(111);         // } else {         //     console.log(222);         // }          // 如果数值和布尔直接进行比较,会把布尔值转换为数值         // true转为1,false转为0         // let num = 99;         // console.log(num == true);         // let num2 = 0;         // console.log(num2 == false);          // 在表达式判断中,相当于给数值使用Boolean()来转换         // let num = 99;         // if (num) {         //     console.log(111);         // }          // let str = '0';         // console.log(str == false);         // let str = '1';         // console.log(str == true);         // let str = '99';         // console.log(str == true);         // let str = '99';         // if (str) {         //     console.log(111);         // }          // 总结:比较时是转换为数值,判断时是转换为布尔值         // 数组和对象转为布尔,都是真          // 这种情况是转换为数值         // let arr = [];         // console.log(arr == false);         // let arr2 = [0];         // console.log(arr2 == false);         // let arr3 = [1];         // console.log(arr3 == true);         // let arr4 = [1, 2, 3];         // console.log(arr4 == true);          // // 这种情况是转换为布尔值         // if (arr) {         //     console.log(111);         // }         // console.log(Boolean(arr));          console.log(Boolean({}));         if ({}) {             console.log(111);         }     </script> </body>  </html>

 

显示转换Boolean类型:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>      <script>          // let num = 0;         // console.log(!!num);         // console.log(Boolean(num));          // let str = '111';         // console.log(!!str);         // console.log(Boolean(str));          // let arr = [];         // console.log(!!arr);         // console.log(Boolean(arr));          // let obj = {};         // console.log(!!obj);         // console.log(Boolean(obj));          let date = new Date();         console.log(!!date);         console.log(Boolean(date));     </script> </body>  </html>

 

boolean实例操作:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>      <script>          while (true) {             let year = prompt('请输入cyy的出生年份').trim();             if (!year) continue; // 退出本次循环,继续下次循环             let msg = year == '2020' ? '回答正确' : '回答错误';             console.log(msg);             break; // 结束循环         }       </script> </body>  </html>

 

number声明方式与基本函数:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>      <script>         // 引用类型         // let num = new Number(99);         // console.log(typeof num);         // console.log(num + 1);         // console.log(num.valueOf() + 1);          // 值类型         // let num = 99;         // console.log(num + 1);         // console.log(num.valueOf());          // 判断整型Number.isInteger         // let num = 99;         // console.log(Number.isInteger(num));         // let num2 = 99.11;         // console.log(Number.isInteger(num2));         // 保留小数 toFixed         let num = 100.2233;         console.log(num.toFixed(2));     </script> </body>  </html>

 

数值类型转换技巧与NaN类型:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>     <input type="text" name="num1">     <input type="number" name="num2">      <script>         //NaN not a number         // console.log(Number('hhh'));         // console.log(2 / 'hhh');          // 判断是否是NaN         // console.log(Number.isNaN(2 / 'hhh'));         // console.log(Object.is(2 / 'hhh', NaN));          //NaN不能本身不等于NaN,不能与自身进行比较         // console.log(NaN == NaN);          // 布尔转数值         // console.log(Number(true));         // console.log(Number(false));          // let input1 = document.querySelector('[name=num1]');         // let input2 = document.querySelector('[name=num2]');         // input1.addEventListener('keyup', function () {         //     let num1 = input1.value;         //     console.log(num1);         //     console.log(typeof num1);         //     console.log(typeof Number(num1));         // });         // input2.addEventListener('keyup', function () {         //     let num2 = input2.value;         //     console.log(num2);         //     console.log(typeof num2);         //     console.log(typeof Number(num2));         // });          // Number与parseInt和parseFloat的区别         // let str = "123.456hahaha";         // console.log(Number(str));         // console.log(parseInt(str));         // console.log(parseFloat(str));          // let arr = [];         // console.log(Number(arr));         // let arr2 = [1];         // console.log(Number(arr2));         // let arr3 = [1, 2, 3];         // console.log(Number(arr3));          // let obj = {};         // console.log(Number(obj));         // let obj2 = {         //     valueOf: function () {         //         return 99;         //     }         // }         // console.log(Number(obj2));          let num = 11.234;         console.log(num.toFixed(0));         console.log(num.toFixed(1));         console.log(num.toFixed(2));     </script> </body>  </html>

 

Math数学计算

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>     <input type="text" name="num1">     <input type="number" name="num2">      <script>         //Math.min() 最小值         // console.log(Math.min(1, 2, 3, 4, 5));          // 指定以数组的形式传参         // let arr = [1, 2, 3, 4, 6];         // console.log(Math.max.apply(null, arr));          // 向上取整 Math.ceil() 向下取整Math.floor() 四舍五入Math.round()         // let num = 1.34;         // console.log(Math.ceil(num));         // console.log(Math.floor(num));     </script> </body>  </html>

 

Math.random() 随机点名操作

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>     <input type="text" name="num1">     <input type="number" name="num2">      <script>         //Math.random()   >= 0 ~ < 1         // console.log(Math.random());         // // 如果想取得0-整数n之间的随机整数,比如0-5         // let n = 5;         // console.log(Math.floor(Math.random() * (n + 1)));          // 如果要取2-5之间的随机整数,实质就是取0-3之间的随机整数,然后再加2         // console.log(Math.floor(Math.random() * (5 - 2 + 1)) + 2);          // function my_random(min, max) {         //     return Math.floor(Math.random() * (max - min + 1)) + min;         // }         // console.log(my_random(2, 5));          // 从数组中随意取值         // let arr = ['cyy1', 'cyy2', 'cyy3', 'cyy4'];         // let len = arr.length;         // // 实质就是索引从0-3         // let index = Math.floor(Math.random() * len);         // console.log(arr[index]);          // 从数组的第二位开始取,就是1-3         // let arr = ['cyy1', 'cyy2', 'cyy3', 'cyy4'];         // let len = arr.length;         // // 实质就是索引从1-3,相当于从0-2,再加上1         // let index = Math.floor(Math.random() * (len - 1)) + 1;         // console.log(arr[index]);          let arr = ['cyy1', 'cyy2', 'cyy3', 'cyy4', 'cyy5'];         function arrayRandomValue(arr, start = 0, end) {             end = end ? end : arr.length - 1;             const index = Math.floor(Math.random() * (end - start + 1)) + start;             console.log(arr[index]);         }         // arrayRandomValue(arr);         // arrayRandomValue(arr, 2, 4); // cyy3-cyy5         arrayRandomValue([1, 4, 7, 0]);     </script> </body>  </html>

 

日期时间戳的使用与计算脚本执行时间:

 

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>     <script>         // const date = new Date();         // console.log(date);          // New Date()和Date()的区别         // let d1 = new Date();         // console.log(d1);         // console.log(typeof d1);         // console.log(d1 * 1); // 可转时间戳          // let d2 = Date();         // console.log(d2);         // console.log(typeof d2);         // console.log(d2 * 1);         // const dd = Date.now();         // console.log(dd);           // 计算脚本运行时间         // const start = Date.now();         // for (let i = 0; i < 200000000; i++) { }         // const end = Date.now();         // console.log(end - start); // 毫秒为单位         // console.log((end - start) / 1000 + '秒');          // js提供的计算脚本执行时间的方法         // console.time('for');         // for (let i = 0; i < 200000000; i++) { }         // console.timeEnd('for');          // const date = new Date('2020-11-15 11:11:11');         // console.log(date);         // console.log(date.getMonth());          // const date = new Date(1990, 11, 12, 3, 12, 14);         // console.log(date);         // console.log(date.getMonth());          let arr = [1990, 11, 12, 3, 12, 14];         const date = new Date(...arr);         console.log(date);         console.log(date.getMonth());      </script> </body>  </html>

 

ISO与TIMESTAMP时间转换

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>     <script>         // 时间转时间戳         // let time = new Date('1990-12-31 12:11:33');         // console.log(time * 1);         // console.log(Number(time));         // console.log(time.valueOf());         // console.log(time.getTime());          // 时间戳转时间         let timestamp = 662616693000;         console.log(new Date(timestamp));      </script> </body>  </html>

 

封装日期格式化函数:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>     <script>         const date = new Date('1996-04-13 12:11:10');         // console.log(date.getFullYear());         // console.log(date.getMonth() + 1);         // console.log(date.getDate());         // console.log(date.getHours());         // console.log(date.getMinutes());         // console.log(date.getSeconds());          function timeFormat(date, format = "yyyy-mm-dd hh:ii:ss") {             let config = {                 yyyy: date.getFullYear(),                 mm: date.getMonth() + 1,                 dd: date.getDate(),                 hh: date.getHours(),                 ii: date.getMinutes(),                 ss: date.getSeconds()             };             for (const key in config) {                 format = format.replace(key, config[key]);             }             return format;         }         console.log(timeFormat(date));         console.log(timeFormat(date, 'yyyy年mm月dd日hh时ii分ss秒'));     </script> </body>  </html>

 

 JavaScript 值类型使用

 

 

优秀的日期处理库 momentjs

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <title>Document</title>     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">     <style>      </style> </head>  <body>     <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>     <script>         // moment().format();         // let date = moment().format('MMMM Do YYYY, h:mm:ss a');         // console.log(date);          console.log(moment().add(1, 'days').format('YYYY年MM月DD日hh:mm:ss'))     </script> </body>  </html>

JavaScript 值类型使用