作为一名前端程序员,你知道时间就是金钱。
每一个小技巧都可能意味着更快的开发时间和更干净的代码。
下面是 30 行代码小魔术 JavaScript 代码,它们将使你的编程工作更轻松。
1. 复制到剪贴板
代码语言:javascript复制navigator.clipboard.writeText("Hello, World!");
2. 获取查询字符串参数
代码语言:javascript复制new URLSearchParams(window.location.search).get('param');
3. 生成随机的 HEX 颜色
代码语言:javascript复制`#${Math.floor(Math.random()*0xFFFFFF).toString(16).padEnd(6, '0')}`;
4. 检查日期是否有效
代码语言:javascript复制!isNaN(new Date('2021-01-29').valueOf());
5. 睡眠函数
代码语言:javascript复制const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
6. 深度冻结对象
代码语言:javascript复制const deepFreeze = obj => Object.keys(obj).forEach(prop => !(obj[prop] instanceof Object) || Object.freeze(obj[prop]));
7. 精确到指定小数位
代码语言:javascript复制const round = (n, decimals) => Number(`${Math.round(`${n}e${decimals}`)}e-${decimals}`);
8. 滚动到页面顶部
代码语言:javascript复制window.scrollTo(0, 0);
9. 生成指定范围内的随机整数
代码语言:javascript复制const randomInt = (min, max) => Math.floor(Math.random() * (max - min 1)) min;
10. 打乱数组
代码语言:javascript复制const shuffleArray = arr => arr.sort(() => 0.5 - Math.random());
11. 获取时区
代码语言:javascript复制Intl.DateTimeFormat().resolvedOptions().timeZone;
12. 检测暗模式
代码语言:javascript复制window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
13. 打印 JSON 对象为美观的字符串
代码语言:javascript复制JSON.stringify(obj, null, 2);
14. 获取当前页面的滚动位置
代码语言:javascript复制const scrollPosition = () => ({ x: window.pageXOffset, y: window.pageYOffset });
15. 创建密钥生成器
代码语言:javascript复制const cryptoKey = () => crypto.getRandomValues(new Uint32Array(1))[0].toString(16);
16. 获取所有的唯一值
代码语言:javascript复制const uniqueValues = arr => [...new Set(arr)];
17. 检查是否是平日
代码语言:javascript复制const isWeekday = date => date.getDay() % 6 !== 0;
18. 检查元素是否在视窗中
代码语言:javascript复制const elementInViewport = el => el.getBoundingClientRect().top >= 0 && el.getBoundingClientRect().bottom <= window.innerHeight;
19. 取得设备类型
代码语言:javascript复制const getDeviceType = () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? 'Mobile' : 'Desktop';
20. 找出字符串中最频繁的元素
代码语言:javascript复制const getMostFrequent = str => str.split('').reduce((acc, val) => { const count = str.split(val)
21. 简化的HTTP GET请求
代码语言:javascript复制fetch('https://api.example.com/data').then(r => r.json()).then(data => console.log(data));
22. 快速转换JSON为对象
代码语言:javascript复制JSON.parse('{"name":"John", "age":30}');
23. 使用console.time
计算代码执行时间
代码语言:javascript复制console.time('algorithm'); /* your code here */ console.timeEnd('algorithm');
24. 生成UUID
代码语言:javascript复制[1e7] -1e3 -4e3 -8e3 -1e11.replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));
25. 简单的验证电子邮件格式
代码语言:javascript复制/^[w-.] @([w-] .) [w-]{2,4}$/.test('test@example.com');
26. 判断一个数是否是偶数
代码语言:javascript复制const isEven = num => num % 2 === 0;
27. 使用递归扁平化数组
代码语言:javascript复制const flatten = arr => arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flatten(val) : val), []);
28. 简单地实现数组去重
代码语言:javascript复制[...new Set([1,2,3,3,4,4,5])];
29. 获取当前年份
代码语言:javascript复制new Date().getFullYear();
30. 简短的条件语句运行
代码语言:javascript复制let x = 20, y = 30; x > y && console.log('x is greater than y');
这些一行代码示例能够让你的开发更加高效,有些甚至能让你在编写代码时获得一些乐趣。记得经常回顾这些小技巧,它们可以在你快速构建功能时发挥巨大作用。