33个非常实用的JavaScript一行代码,建议收藏!

33个非常实用的JavaScript一行代码,建议收藏!
最新回答
消失在我眼中

2026-07-30 08:22:42

以下整理了33个实用的JavaScript一行代码,涵盖日期、字符串、数组、数字、颜色、浏览器操作等多个场景,适合快速查阅与学习

日期处理

  1. 检查日期有效性:const isDateValid = (...val) => !Number.isNaN(new Date(...val).valueOf());
  2. 计算日期差(天):const dayDif = (d1, d2) => Math.ceil(Math.abs(d1-d2)/86400000);
  3. 获取一年中的第几天:const dayOfYear = d => Math.floor((d - new Date(d.getFullYear(),0,0))/86400000);
  4. 格式化时间(HH:MM:SS):const timeFromDate = d => d.toTimeString().slice(0,8);

字符串处理

  1. 首字母大写:const capitalize = s => s.charAt(0).toUpperCase() + s.slice(1);
  2. 翻转字符串:const reverse = s => [...s].reverse().join('');
  3. 生成随机字符串:const randomString = () => Math.random().toString(36).slice(2);
  4. 截断字符串(加省略号):const truncateString = (s,l) => s.length<l ? s : ${s.slice(0,l-3)}...;
  5. 去除HTML标签:const stripHtml = h => (new DOMParser().parseFromString(h,'text/html')).body.textContent;

数组处理

  1. 去重:const removeDuplicates = a => [...new Set(a)];
  2. 判断非空数组:const isNotEmpty = a => Array.isArray(a) && a.length>0;
  3. 合并数组:const merge = (a,b) => [...a,...b];

数字操作

  1. 判断奇偶:const isEven = n => n%2===0;
  2. 计算平均值:const average = (...n) => n.reduce((a,b)=>a+b)/n.length;
  3. 生成随机整数:const random = (min,max) => Math.floor(Math.random()*(max-min+1)+min);
  4. 指定位四舍五入:const round = (n,d) => Number(Math.round(n+'e'+d)+'e-'+d);

颜色操作

  1. RGB转16进制:const rgbToHex = (r,g,b) => '#'+((1<<24)+(r<<16)+(g<<8)+b).toString(16).slice(1);
  2. 生成随机16进制颜色:const randomHex = () => '#'+Math.floor(Math.random()*0xffffff).toString(16).padEnd(6,'0');

浏览器操作

  1. 复制到剪贴板:const copyToClipboard = t => navigator.clipboard.writeText(t);
  2. 清除所有Cookie:const clearCookies = () => document.cookie.split(';').forEach(c=>document.cookie=c.replace(/^ +/,'').replace(/=.*/,=;expires=${new Date(0).toUTCString()};path=/));
  3. 获取选中文本:const getSelectedText = () => window.getSelection().toString();
  4. 检测黑暗模式:const isDarkMode = () => window.matchMedia('(prefers-color-scheme:dark)').matches;
  5. 滚动到顶部:const goToTop = () => window.scrollTo(0,0);
  6. 检测标签页激活状态:const isTabInView = () => !document.hidden;
  7. 检测苹果设备:const isAppleDevice = () => /Mac|iPod|iPhone|iPad/.test(navigator.platform);
  8. 检测滚动到底部:const scrolledToBottom = () => window.innerHeight+window.scrollY>=document.body.scrollHeight;
  9. 重定向URL:const redirect = u => location.href=u;
  10. 打开打印对话框:const showPrintDialog = () => window.print();

其他操作

  1. 生成随机布尔值:const randomBoolean = () => Math.random()>=0.5;
  2. 交换变量值:[a,b]=[b,a];
  3. 获取变量类型:const trueTypeOf = o => Object.prototype.toString.call(o).slice(8,-1).toLowerCase();
  4. 温度单位转换

    摄氏转华氏:const celsiusToFahrenheit = c => c*9/5+32;

    华氏转摄氏:const fahrenheitToCelsius = f => (f-32)*5/9;

  5. 检测空对象:const isEmpty = o => Reflect.ownKeys(o).length===0 && o.constructor===Object;

这些代码片段通过巧妙利用JavaScript的API与语法特性,实现了高效简洁的功能,适合在实际开发中快速调用或作为学习参考。