当前位置:首页 > JavaScript

如何实现js复用

2026-03-15 23:29:59JavaScript

实现 JavaScript 复用的方法

模块化开发(ES6 Modules)

使用 ES6 的 importexport 语法将代码拆分为多个模块,按需引入功能。
示例:

// utils.js
export function add(a, b) {
  return a + b;
}

// main.js
import { add } from './utils.js';
console.log(add(1, 2)); // 输出 3

函数封装

将重复逻辑封装为函数,通过参数实现动态调用。
示例:

function formatDate(timestamp, format = 'YYYY-MM-DD') {
  // 格式化日期逻辑
  return formattedDate;
}
// 多处调用
formatDate(1625097600000, 'YYYY/MM/DD');

类与继承(OOP)

通过类继承实现代码复用,共享属性和方法。
示例:

class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    console.log(`${this.name} makes a noise.`);
  }
}

class Dog extends Animal {
  speak() {
    super.speak(); // 复用父类方法
    console.log(`${this.name} barks.`);
  }
}

高阶函数

接收或返回函数的函数,用于抽象通用逻辑。
示例:

function withLogging(fn) {
  return function(...args) {
    console.log('函数调用开始');
    const result = fn(...args);
    console.log('函数调用结束');
    return result;
  };
}
const loggedAdd = withLogging(add);

工具库与第三方包

利用 Lodash、Ramda 等工具库减少重复代码。
示例:

import _ from 'lodash';
const debouncedFn = _.debounce(() => {
  console.log('防抖执行');
}, 300);

设计模式

采用单例、工厂等设计模式复用对象或逻辑。
单例模式示例:

class Logger {
  constructor() {
    if (!Logger.instance) {
      Logger.instance = this;
    }
    return Logger.instance;
  }
  log(message) {
    console.log(message);
  }
}
const logger1 = new Logger();
const logger2 = new Logger();
console.log(logger1 === logger2); // true

Web Components

通过自定义元素封装可复用的 UI 组件。
示例:

如何实现js复用

class MyButton extends HTMLElement {
  connectedCallback() {
    this.innerHTML = `<button>自定义按钮</button>`;
  }
}
customElements.define('my-button', MyButton);
// HTML 中直接使用 <my-button></my-button>

代码片段管理

使用工具(如 VS Code 片段、GitHub Gist)存储常用代码块,快速插入项目。

分享给朋友:

相关文章

vue如何实现放大缩小

vue如何实现放大缩小

Vue 实现放大缩小功能 在 Vue 中实现放大缩小功能可以通过多种方式实现,以下介绍几种常见的方法: 使用 CSS transform 缩放 通过绑定 CSS 的 transform: scale…

如何实现vue表格联动

如何实现vue表格联动

实现 Vue 表格联动的方法 数据绑定与响应式更新 通过 Vue 的响应式特性,将多个表格的数据绑定到同一个数据源或计算属性。当一个表格的数据发生变化时,另一个表格会自动更新。例如: data()…

如何实现翻页式h5

如何实现翻页式h5

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

vue如何实现轮询

vue如何实现轮询

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

vue如何实现级联

vue如何实现级联

实现级联选择器的基本方法 在Vue中实现级联选择器通常使用现成的组件库或自定义组件。以下是两种常见方式: 使用Element UI的Cascader组件 安装Element UI后,直接使用el-c…

vue如何实现标签

vue如何实现标签

实现动态标签页 在Vue中可以通过<component :is="currentTab">动态切换组件,结合v-for渲染标签页头部。典型结构包含标签页容器和内容区域: <temp…