当前位置:首页 > JavaScript

如何实现js复用

2026-02-02 23:03:37JavaScript

使用函数封装复用逻辑

将重复代码封装成函数,通过参数传递差异化部分。例如表单验证逻辑可抽象为通用验证函数:

function validateInput(input, rules) {
  return rules.every(rule => rule.test(input.value));
}

采用模块化开发

使用ES6模块化拆分功能,通过import/export实现复用:

// utils.js
export function formatDate(date) {
  return new Date(date).toLocaleString();
}

// app.js
import { formatDate } from './utils.js';

创建自定义Hooks(React)

在React中提取状态逻辑为可复用的Hook:

如何实现js复用

function useFetch(url) {
  const [data, setData] = useState(null);
  useEffect(() => {
    fetch(url).then(res => res.json()).then(setData);
  }, [url]);
  return data;
}

设计高阶组件

通过高阶组件包装通用功能,如权限校验:

const withAuth = (WrappedComponent) => {
  return (props) => {
    return isLogin ? <WrappedComponent {...props} /> : <Redirect to="/login" />;
  };
};

使用Mixin模式(Vue)

Vue2中可通过mixin共享组件选项:

如何实现js复用

const logMixin = {
  created() {
    console.log(`Component ${this.$options.name} created`);
  }
};

Vue.component('example', {
  mixins: [logMixin],
  // ...
});

构建工具类库

将通用工具方法集中管理:

class StringUtils {
  static trimExtraSpaces(str) {
    return str.replace(/\s+/g, ' ').trim();
  }
}

应用设计模式

使用工厂模式创建相似对象:

class DialogFactory {
  static create(type) {
    switch(type) {
      case 'alert': return new AlertDialog();
      case 'confirm': return new ConfirmDialog();
    }
  }
}

服务化共享逻辑

将数据获取等逻辑封装为服务:

const UserService = {
  getUsers: () => axios.get('/api/users'),
  createUser: (data) => axios.post('/api/users', data)
};

分享给朋友:

相关文章

react如何实现插槽

react如何实现插槽

React 实现插槽的方法 React 本身没有直接提供类似 Vue 的插槽(slot)概念,但可以通过以下几种方式实现类似功能: 使用 props.children React 组件可以通过 pr…

如何实现翻页式h5

如何实现翻页式h5

翻页式H5的实现方法 翻页式H5通常指通过滑动或点击切换页面的交互形式,常用于营销活动、产品展示等场景。以下是几种常见的实现方式: 使用HTML5和CSS3实现基础翻页 通过CSS3的transfo…

vue如何实现select

vue如何实现select

Vue 实现 Select 组件的方法 在 Vue 中实现 Select 组件可以通过原生 HTML <select> 元素或使用第三方 UI 库(如 Element UI、Ant Des…

vue如何实现轮询

vue如何实现轮询

实现轮询的方法 在Vue中实现轮询可以通过以下几种方式完成,具体选择取决于项目需求和场景。 使用 setInterval 通过 setInterval 定时调用接口或执行任务,适合简单的轮询场景。…

vue如何实现图

vue如何实现图

Vue 实现图表的方法 Vue 中实现图表可以通过多种方式,常见的有使用第三方库或自定义实现。以下是几种常见的方法: 使用 ECharts ECharts 是一个功能强大的图表库,支持多种图表类型。…

vue如何实现渲染

vue如何实现渲染

Vue 渲染实现方法 Vue 的渲染主要通过模板编译、虚拟 DOM 和响应式系统实现。以下是具体实现方式: 模板编译 Vue 模板会被编译成渲染函数。模板可以写在 .vue 文件的 <temp…