1.生成随机ID
Math.random().toString(16).substring(2); Math.random().toString(36).substring(2);
解释:
Math.random()输出0到1(包括0,不包含1)的随机数。
toString(16)将随机数转换为16进制的字符串。
substring(2)截取字符串,因为随机数大于等于0小于1,前两位是“0.”,substring(2)从第三位开始截取到最后。
2.正则去空格
1去掉左边空格 name.replace(/^s*/g,”“); 2去掉右边空格 name.replace(/s*$/g,”“); 3去掉前后空格 smSmsModelName.replace(/(^s*)|(s*$)/g,”“); 说明: 看到分为两部分被“|”:表示前后两个子模可以选择 ,个人人为可以理解为 或 的意思; (^s*):^ 上面已经显示了属于元字符中的一个 代表字符串需以模式起始。 s 匹配空格(空格包括空白字符、tab、换行符、return/enter) 4去掉所有的空格 name.replace(/s+/g,”“);
3.本地时间
<body onload="setInterval(()=>document.body.innerHTML=new Date().toLocaleString().slice(10,19))"></body>
4.数组混淆
// 随机更改数组元素顺序,混淆数组 (arr) => arr.slice().sort(() => Math.random() - 0.5) /* let a = (arr) => arr.slice().sort(() => Math.random() - 0.5) let b = a([1,2,3,4,5]) console.log(b) */
5.创建特定大小的数组
[...Array(3).keys()] // [0, 1, 2]
7.数组方法splice返回的是一个数组,该数组是当前的删除项,并不是原数组变更后的数组
8.打印出当前网页使用了多少种HTML元素
const fn = () => { return [...new Set([...document.querySelectorAll('*')].map(el => el.tagName))].length; }