0
点赞
收藏
分享

微信扫一扫

js实现方法传参Boolean

eelq 05-11 06:00 阅读 13

// 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);
}    

举报

相关推荐

0 条评论