当前位置: 首页 > news >正文

分享几个好用js片段

        最近在做telegram小程序,所以又回归了web端了,发现几个好用又简洁的代码片段,在这里分享一下。

  1.  获取浏览器cookie值
const cookie = name => `; ${document.cookie}`.split(`; ${name}=`).pop().split(';').shift();cookie('_ga');

2. 将RGB转换为16进制

const rgbToHex = (r, g, b) =>
"#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);rgbToHex(0, 51, 255);
// Result: #0033ff`

3. 复制到剪切板

const copyToClipboard = (text) => navigator.clipboard.writeText(text);copyToClipboard("Hello World");

 4. 检查日期是否有效

const isDateValid = (...val) => !Number.isNaN(new Date(...val).valueOf());isDateValid("December 17, 1995 03:24:00");
// Result: true

5. 找出一年中的某一天(即给出一个日期,程序给出属于本年的第多少天)

const dayOfYear = (date) =>
Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);dayOfYear(new Date());
// Result: 272

6. 将字符串首字母大写

const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1)capitalize("follow for more")
// Result: Follow for more

7. 计算两个日期之间相差的天数

const dayDif = (date1, date2) => Math.ceil(Math.abs(date1.getTime() - date2.getTime()) / 86400000)dayDif(new Date("2020-10-21"), new Date("2021-10-22"))
// Result: 366

8. 清除所有cookie

const clearCookies = document.cookie.split(';').forEach(cookie => document.cookie = cookie.replace(/^ +/, '').replace(/=.\*/, `=;expires=${new Date(0).toUTCString()};path=/`));

9. 生成随机16进制

const randomHex = () => `#${Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, "0")}`;console.log(randomHex());
// Result: #92b008

10. 数组去重

const removeDuplicates = (arr) => [...new Set(arr)];console.log(removeDuplicates([1, 2, 3, 3, 4, 4, 5, 5, 6]));
// Result: [ 1, 2, 3, 4, 5, 6 ]

11. 从URL中获取查询参数

const getParameters = (URL) => {
URL = JSON.parse('{"' + decodeURI(URL.split("?")[1]).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"') +'"}');
return JSON.stringify(URL);
};getParameters(window.location)
// Result: { search : "easy", page : 3 }

12. 获取用户选定的文本

const getSelectedText = () => window.getSelection().toString();getSelectedText();

有小伙伴有什么比较好的代码片段也可以分享出来呀!!! 

        

http://www.lryc.cn/news/425174.html

相关文章:

  • web前端之实现一只可爱的小杰尼乌龟、伪元素、动画
  • 银河麒麟服务器版在rc.local使用ifcong 配置IP和nmcli的区别
  • 【运维】深入理解 Linux 中的 `mv` 命令,使用 `mv` 移动所有文件但排除特定文件或文件夹
  • Xilinx课程,就这么水灵灵地上线了~
  • 【axios get请求 中文乱码】
  • 智能分析/视频汇聚EasyCVR安防视频融合管理云平台技术优势分析
  • arcgis-坡度坡向分析
  • 【银河麒麟高级服务器操作系统】实际案例分析,xfsaild占用过高
  • JS中【setTimeout】使用注意事项总结
  • 已解决ArkTS开发webview,html页面中的input和按钮等操作均无响应
  • ChatGPT无法登录,提示我们检测到可疑的登录行为,将阻止进一步的尝试。请与管理员联系
  • 【数据结构篇】~复杂度
  • 深入理解Python中的JSON模块:解析与生成JSON数据的实用指南
  • 机器学习三要素:模型、策略和算法
  • 利用红黑树封装map和set
  • python pyqt5暂停和恢复功能
  • CAN总线详解-理论知识部分
  • 【Java数据结构】---List(LinkedList)
  • 开发军用LabVIEW程序注意事项
  • A3VLM: Actionable Articulation-Aware Vision Language Model
  • 企业高性能web服务器
  • 数据库:深入解析SQL分组与聚合——提升数据查询效率的关键技巧
  • 【CSS】数字英文css没有转换成...换行点、没有换行、拆分的问题(非常常见的需求)
  • C++ string模拟实现
  • Lora 全文翻译
  • 结题阶段(2024年8月)
  • 贪吃蛇(C语言详解)
  • 国际以太网专线(IEPL)与国际专线(IPLC)服务
  • vue 子父组件互相改值
  • java之拼图小游戏(开源)