// 7. 表单验证场景
function validateForm(formData, isStrict = false) {
const { username, password } = formData;
if (isStrict && username.length < 8) return false;
return username && password;
}
// 8. 缓存控制
function fetchWithCache(url, useCache = true) {
if (useCache && sessionStorage.getItem(url)) {
return JSON.parse(sessionStorage.getItem(url));
}
// 实际请求逻辑
const data = fetch(url).then(res => res.json());
sessionStorage.setItem(url, JSON.stringify(data));
return data;
}
// 9. 调试模式控制
function logMessage(message, isDebug = false) {
if (isDebug) {
console.debug('[DEBUG]', message);
} else {
console.log(message);
}
}
// 10. 条件执行高阶函数
function executeIf(condition, fn) {
if (typeof condition === 'function' ? condition() : condition) {
fn();
}
}
// 使用示例
executeIf(true, () => console.log('条件为真时执行'));
// 11. 状态切换函数
function toggleState(currentState) {
return !currentState;
}
// 12. 条件渲染列表
function renderList(items, showEmpty = false) {
if (!items.length && !showEmpty) return null;
return items.map(item => <div>{item}</div>);
}
// 13. 安全模式操作
function deleteFile(path, isSafeMode = true) {
if (isSafeMode) {
console.log('[安全模式] 已备份文件,准备删除');
}
// 执行删除操作
}
// 14. 异步操作中的布尔参数
async function fetchData(url, retryOnFail = false) {
try {
const response = await fetch(url);
return response.json();
} catch (error) {
if (retryOnFail) {
return fetchData(url, false); // 避免无限重试
}
throw error;
}
}
// 15. 数组过滤条件
function filterItems(items, includeInactive = false) {
return items.filter(item => includeInactive || item.active);
}
// 16. 配置选项合并
function mergeConfig(defaults, overrides, deepMerge = false) {
const result = { ...defaults };
if (deepMerge) {
// 深度合并逻辑
} else {
Object.assign(result, overrides);
}
return result;
}
// 17. 动画效果控制
function applyAnimation(element, isAnimated = true) {
element.style.transition = isAnimated ? 'all 0.5s' : 'none';
element.style.opacity = isAnimated ? '0.7' : '1';
}
// 18. 条件性事件绑定
function setupEventHandlers(element, isEnabled = true) {
const handler = () => console.log('Event handled');
if (isEnabled) {
element.addEventListener('click', handler);
} else {
element.removeEventListener('click', handler);
}
}
// 19. 数据格式化选项
function formatDate(date, useShortFormat = false) {
if (useShortFormat) {
return date.toLocaleDateString();
}
return date.toLocaleString();
}
// 20. 条件性加载资源
function loadScript(url, async = true) {
const script = document.createElement('script');
script.src = url;
script.async = async;
document.head.appendChild(script);
}