当前位置:首页 > JavaScript

js实现复用

2026-03-13 15:45:38JavaScript

代码复用方法

函数封装
将重复逻辑封装成函数,通过参数传递差异化部分。例如计算数组平均值和总和的函数可复用:

function calculateStats(arr, type) {
  return type === 'avg' 
    ? arr.reduce((a, b) => a + b, 0) / arr.length
    : arr.reduce((a, b) => a + b, 0);
}

模块化开发
使用ES6模块化拆分功能到独立文件:

// utils.js
export const formatDate = (date) => date.toISOString().split('T')[0];

// app.js
import { formatDate } from './utils.js';
console.log(formatDate(new Date()));

高阶函数
通过函数返回函数实现行为定制:

const multiplier = (factor) => (num) => num * factor;
const double = multiplier(2);
console.log(double(5)); // 输出10

类继承与组合
使用class继承或对象组合复用代码:

class Animal {
  constructor(name) {
    this.name = name;
  }
}

class Dog extends Animal {
  bark() {
    return `${this.name} barks`;
  }
}

Mixin模式
通过Object.assign实现多重继承:

const canEat = {
  eat() {
    console.log(`${this.name} eats`);
  }
};

class Cat {
  constructor(name) {
    this.name = name;
  }
}

Object.assign(Cat.prototype, canEat);

自定义Hooks(React)
在React中复用状态逻辑:

function useToggle(initialValue = false) {
  const [value, setValue] = useState(initialValue);
  const toggle = () => setValue(!value);
  return [value, toggle];
}

// 组件中使用
const [isOn, toggleIsOn] = useToggle();

闭包应用
利用闭包保存私有状态:

js实现复用

function createCounter() {
  let count = 0;
  return {
    increment() { count++ },
    getCount() { return count }
  };
}

标签: 复用js
分享给朋友:

相关文章

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…