对开发有帮助的JS技巧有哪些
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍"对开发有帮助的JS技巧有哪些",在日常操作中,相信很多人在对开发有帮助的JS技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"对开发有帮助的JS
千家信息网最后更新 2025年01月19日对开发有帮助的JS技巧有哪些
这篇文章主要介绍"对开发有帮助的JS技巧有哪些",在日常操作中,相信很多人在对开发有帮助的JS技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"对开发有帮助的JS技巧有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1. 生成一个带有随机数的列表
Array.from({ length: 1000 }, Math.random) // [ 0.6163093133259432, 0.8877401276499153, 0.4094354756035987, ...] - 1000 items
2.生成一个带有数字的列表
Array.from({ length: 1000 }, (v, i) => i) // [0, 1, 2, 3, 4, 5, 6....999]
3. RGB→转换为十六进制
const rgb2hex = ([r, g, b]) => `#${(1 << 24) + (r << 16) + (g << 8) + b}`.toString(16).substr(1); rgb2hex([76, 11, 181]); // #4c0bb5
4. 转换十六进制→RGB
怎么把它转换回去?这是实现该目标的一种好方法。
const hex2rgb = hex => [1, 3, 5].map((h) => parseInt(hex.substring(h, h + 2), 16)); hex2rgb("#4c0bb5"); // [76, 11, 181]
5.奇数或偶数
使用 位 运算的方式:
const value = 232; if (value & 1) console.log("odd"); else console.log("even"); // even
6.检查有效的 URL
const isValidURL = (url) => { try { new URL(url); return true; } catch (error) { return false; } } isValidURL('https://segmentfault.com/u/minnanitkong/articles') // true isValidURL("https//invalidto"); // false
7.距离过去到现在时间表示
有时我们需要打印6分钟前的日期,但不希望很大的库来完成。这里有一个小片段可以做到这一点:
const fromAgo = (date) => { const ms = Date.now() - date.getTime(); const seconds = Math.round(ms / 1000); const minutes = Math.round(ms / 60000); const hours = Math.round(ms / 3600000); const days = Math.round(ms / 86400000); const months = Math.round(ms / 2592000000); const years = Math.round(ms / 31104000000); switch (true) { case seconds < 60: return `${seconds} second(s) ago"`; case minutes < 60: return `${minutes} minute(s) ago"`; case hours < 24: return `${hours} hour(s) ago"`; case days < 30: return `${days} day(s) ago`; case months < 12: return `${months} month(s) ago`; default: return `${years} year(s) ago`; } }; const createdAt = new Date(2021, 0, 5); fromAgo(createdAt); // 14 day(s) ago;
8. 用参数生成路径
我们在处理路线/路径时常做很多工作,我们总是需要对其进行操作。当我们需要生成带有参数的路径以将浏览器推送到那里时,generatePath 可以帮助我们!
const generatePath = (path, obj) => path.replace(/(:[a-z]+)/g, (v) => obj[v.substr(1)]); const route = "/app/:page/:id"; generatePath(route, { page: "products", id: 85, }); // /app/products/123
9.从路径获取参数
const getPathParams = (path, pathMap, serializer) => { path = path.split("/"); pathMap = pathMap.split("/"); return pathMap.reduce((acc, crr, i) => { if (crr[0] === ":") { const param = crr.substr(1); acc[param] = serializer && serializer[param] ? serializer[param](path[i]) : path[i]; } return acc; }, {}); }; getPathParams("/app/products/123", "/app/:page/:id"); // { page: 'products', id: '123' } getPathParams("/items/2/id/8583212", "/items/:category/id/:id", { category: v => ['Car', 'Mobile', 'Home'][v], id: v => +v }); // { category: 'Home', id: 8583212 }
10.用查询字符串生成路径
const getQueryParams = url => url.match(/([^?=&]+)(=([^&]*))/g).reduce((total, crr) => { const [key, value] = crr.split("="); total[key] = value; return total; }, {}); getQueryParams("/user?name=Orkhan&age=30"); // { name: 'Orkhan', age: '30' }
到此,关于"对开发有帮助的JS技巧有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
帮助
路径
生成
技巧
开发
学习
参数
十六进制
方法
更多
实用
很大
有效
接下来
偶数
奇数
字符
字符串
数字
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发方向写SCI简单吗
网络安全的上市公司科技版
安防科技互联网
服务器导轨安装 浪潮
新津网络安全宣传活动
工业网络技术所学课程
无法打开网页因为服务器停止运行
搜索有没有网络安全手抄报该写字
录播教室服务器
宿州企业软件开发外包公司
新一轮网络安全政策
把项目部署到服务器有什么用
东方中能工控网络技术有限公司
lol服务器数据互通吗
网络技术有编程吗
厦门市行动软件开发有限公司
湖南常德网络安全宣传
家庭网络技术基础详解
软件开发人员有什么岗位
学生网络安全调研
可变剪接因子数据库
新津网络安全宣传活动
培训档案数据库有什么用
万方数据库好用吗
网络安全手写模板
dm数据库双向同步网络中断
重庆联通dns服务器云空间
济南浪潮数据库开发工程师
留守儿童网络安全图片
tdsql数据库助力数字化