当前位置:首页 > 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)

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

如何实现js复用

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 等工具库减少重复代码。
示例:

如何实现js复用

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 组件。
示例:

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 本身是一个前端框架,多级域名的实现通常需要结合后端配置和前端路由。以下是几种常见的方法: 使用路由动态匹配 在 Vue Router 中可以通过动态路由参数匹配…

vue如何实现滤镜

vue如何实现滤镜

Vue 实现滤镜的方法 在 Vue 中实现滤镜效果可以通过多种方式,以下是常见的几种方法: 使用 CSS filter 属性 通过 CSS 的 filter 属性可以直接为元素添加滤镜效果。在 Vu…

vue如何实现计算

vue如何实现计算

Vue 计算属性的实现方法 在 Vue 中,计算属性(computed properties)是一种基于响应式依赖进行缓存的属性,适用于处理复杂逻辑或依赖其他数据属性的场景。以下是实现计算属性的几种方…

java如何实现多线程

java如何实现多线程

实现多线程的方法 在Java中,实现多线程主要有两种方式:继承Thread类和实现Runnable接口。此外,还可以使用ExecutorService等高级工具类来管理线程。 继承Thread类 通…

vue如何实现加减

vue如何实现加减

在 Vue 中实现加减功能 使用数据绑定和事件处理 通过 Vue 的数据绑定和事件处理机制可以轻松实现加减功能。定义一个数据变量存储数值,通过方法增减该变量。 <template>…

vue如何实现轮询

vue如何实现轮询

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