技术文摘
30 个实用的 JavaScript 代码片段(下篇)
2024-12-30 20:12:05 小编
30 个实用的 JavaScript 代码片段(下篇)
在 JavaScript 编程的世界里,掌握一些实用的代码片段能够极大地提高开发效率。本文将为您继续介绍 30 个实用的 JavaScript 代码片段。
1. 数组去重
function uniqueArray(arr) {
return Array.from(new Set(arr));
}
2. 计算数组元素的平均值
function averageArray(arr) {
return arr.reduce((a, b) => a + b) / arr.length;
}
3. 检查对象是否为空
function isEmptyObject(obj) {
return Object.keys(obj).length === 0;
}
4. 深拷贝对象
function deepCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
5. 生成随机颜色
function randomColor() {
let letters = '0123456789ABCDEF';
let color = '#';
for (let i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
6. 平滑滚动到页面顶部
function scrollToTop() {
window.scrollTo({
top: 0,
behavior:'smooth'
});
}
7. 检测设备类型(桌面/移动)
function detectDeviceType() {
const userAgent = navigator.userAgent;
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent)) {
return'mobile';
} else {
return 'desktop';
}
}
8. 格式化日期
function formatDate(date, format) {
const options = {
year: 'numeric',
month: '2-digit',
day: '2-digit'
};
return new Date(date).toLocaleDateString('en-US', options);
}
9. 实现节流函数
function throttle(func, delay) {
let lastCall = 0;
return function(...args) {
const now = new Date().getTime();
if (now - lastCall > delay) {
func(...args);
lastCall = now;
}
};
}
10. 实现防抖函数
function debounce(func, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => {
func(...args);
}, delay);
};
}
以上就是为您介绍的 30 个实用的 JavaScript 代码片段(下篇)中的部分内容,希望这些代码片段能够对您的开发工作有所帮助,让您的 JavaScript 编程更加高效和便捷。
- 怎样优雅判断函数参数是否都为数字
- 访问同一网站遇 DNS_PROBE_FINISHED_NXDOMAIN 错误怎么排查问题
- file_put_contents写入文件时提示文件不存在却不自动创建目录的原因
- 前端分片上传时后端接收到的文件名为何是 blob
- Python 在机器学习领域备受欢迎的原因
- Nginx转发找不到PHP服务,Nginx容器为何连不上PHP容器
- 把JavaScript UUID生成函数转换为Python代码的方法
- 怎样把 JavaScript UUID 生成器代码迁移到 Python
- PHP-WebDriver获取渲染后页面代码的方法
- PHP-WebDriver获取渲染后页面代码的方法
- PHP类中函数使用$_SESSION取不到值的原因
- Python中如何安装特定版本的OpenCV,比如2.4.9
- GORM自定义预加载最佳实践 解决invalid query condition: 0xa6f620错误方法
- Golang里16进制数转字节数组且准确还原为int的方法
- Go里syscall.SysProcAttr兼容性问题及跨平台代码编写方法