对开发有帮助的JS技巧有哪些
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要介绍"对开发有帮助的JS技巧有哪些",在日常操作中,相信很多人在对开发有帮助的JS技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"对开发有帮助的JS
千家信息网最后更新 2025年11月11日对开发有帮助的JS技巧有哪些
这篇文章主要介绍"对开发有帮助的JS技巧有哪些",在日常操作中,相信很多人在对开发有帮助的JS技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"对开发有帮助的JS技巧有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1. 生成一个带有随机数的列表
Array.from({ length: 1000 }, Math.random) // [ 0.6163093133259432, 0.8877401276499153, 0.4094354756035987, ...] - 1000 items2.生成一个带有数字的列表
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]); // #4c0bb54. 转换十六进制→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"); // even6.检查有效的 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"); // false7.距离过去到现在时间表示
有时我们需要打印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/1239.从路径获取参数
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安全错误
数据库的锁怎样保障安全
网络安全法治理层级
通州ibm服务器回收公司
赛诺服务器
国际服吃鸡换服务器60天
Veb服务器
数据库格式设置在哪
一台存储接多台服务器
网络技术运营部的证书
服务器4块显卡如何交火
人保软件开发岗
图像流服务器
手机做服务器可以干嘛
数据库创建表后怎么加数据进里面
我的世界服务器礼包
网络安全与微信使用
php写服务器
新软件开发公司简介
服务器怎么进管理口
国家网络安全与信息
食品安全追溯软件开发公司
中国软件开发总公司地址
数据库系统概论知识点总结pdf
数据库设置int长度
软件开发经历程序设计
计算机网络技术就业环境
上海农业银行软件开发中心
做电商需要什么软件开发
neo4j怎么创建新的数据库
河南美妞网络技术有限公司
数据库怎么导入PHPadmit