技术文摘
20 个实用 JavaScript 代码片段 助力成为卓越开发者
2024-12-31 01:56:07 小编
20 个实用 JavaScript 代码片段 助力成为卓越开发者
在 JavaScript 的广阔世界中,掌握一些实用的代码片段能够极大地提升开发效率和代码质量。以下为您精心整理了 20 个实用的 JavaScript 代码片段,助您在开发之路上更进一步。
- 数组去重
function uniqueArray(arr) {
return Array.from(new Set(arr));
}
- 数组排序
function sortArray(arr) {
return arr.sort((a, b) => a - b);
}
- 字符串反转
function reverseString(str) {
return str.split('').reverse().join('');
}
- 检查对象是否为空
function isEmptyObject(obj) {
return Object.keys(obj).length === 0;
}
- 生成随机数
function generateRandomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
- 深拷贝对象
function deepCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
- 计算数组元素之和
function sumArray(arr) {
return arr.reduce((a, b) => a + b, 0);
}
- 检查数组是否包含某个元素
function containsElement(arr, element) {
return arr.includes(element);
}
- 获取数组中的最大值
function getMaxInArray(arr) {
return Math.max(...arr);
}
- 获取数组中的最小值
function getMinInArray(arr) {
return Math.min(...arr);
}
- 防抖函数
function debounce(func, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
- 节流函数
function throttle(func, delay) {
let lastCall = 0;
return function(...args) {
let now = new Date().getTime();
if (now - lastCall > delay) {
func.apply(this, args);
lastCall = now;
}
};
}
- 格式化日期
function formatDate(date, format) {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const hours = String(date.getHours()).padStart(2, '0');
const minutes = String(date.getMinutes()).padStart(2, '0');
const seconds = String(date.getSeconds()).padStart(2, '0');
format = format.replace('yyyy', year);
format = format.replace('MM', month);
format = format.replace('dd', day);
format = format.replace('HH', hours);
format = format.replace('mm', minutes);
format = format.replace('ss', seconds);
return format;
}
- 简单的事件委托
document.addEventListener('click', function(event) {
if (event.target.matches('.clickable')) {
// 执行相应操作
}
});
- 轮询函数
function poll(callback, delay, timeout) {
let timer;
let startTime = new Date().getTime();
function pollInternal() {
callback();
if (new Date().getTime() - startTime < timeout) {
timer = setTimeout(pollInternal, delay);
}
}
pollInternal();
}
- 简单的懒加载
window.addEventListener('scroll', function() {
const elements = document.querySelectorAll('.lazy-load');
elements.forEach((element) => {
if (isInViewport(element)) {
element.src = element.dataset.src;
}
});
});
function isInViewport(element) {
const rect = element.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
- 简单的图片预加载
function preloadImage(url) {
const img = new Image();
img.src = url;
}
- 计算字符串出现的次数
function countOccurrences(str, subStr) {
return str.split(subStr).length - 1;
}
- 检查是否为数字
function isNumber(str) {
return!isNaN(str) && str!== '';
}
- 简单的缓存函数
function memoize(func) {
const cache = {};
return function(...args) {
const key = JSON.stringify(args);
if (cache[key]) {
return cache[key];
} else {
const result = func.apply(this, args);
cache[key] = result;
return result;
}
};
}
掌握这些实用的 JavaScript 代码片段,将为您的开发工作带来便利,帮助您更快地解决问题,成为更卓越的开发者。不断积累和运用这些技巧,您在 JavaScript 领域的能力必将不断提升。
- 如何在phpmyadmin中创建触发器
- 在phpmyadmin中如何创建外键约束
- phpmyadmin 修改用户名和密码的方法
- 在phpmyadmin里如何修改表名
- 在阿里云服务器上安装配置 phpmyadmin 的方法
- 宝塔面板中phpmyadmin无法登录
- 如何在phpmyadmin中修改数据库root密码
- Xampp 访问 phpmyadmin 失败
- Xampp 中 phpMyAdmin 外网访问遭拒
- 如何在phpmyadmin中修改数据库用户名与密码
- Xampp 连接 phpMyAdmin 时提示无法连接
- Win7 系统中 phpmyadmin 的安装与配置
- 怎样把phpmyadmin设置为禁止外网访问
- 因文件过大sql无法导入phpmyadmin
- 重置phpmyadmin密码后无法打开