Zlog
首页归档关于
Zlog

一个探索技术、编程和构建 Web 的个人空间。

© 2026 Zlog

导航

首页归档关于

链接

/
|
·
·
·
首页/JS惰性载入函数

JS惰性载入函数

惰性载入函数: 函数执行时会根据不同的判断分支最终选择合适的方案执行,但这样的分支判断仅会发生一次,后面的其他同类执行都不会再分支判断。提高了 JS 执行效率性能。

Z

Zephyr110

2021年11月21日·1 分钟
|
frontendfrontend-javascript

JS 性能之惰性载入函数

一、惰性载入概念

惰性载入函数: 函数执行时会根据不同的判断分支最终选择合适的方案执行,但这样的分支判断仅会发生一次,后面的其他同类执行都不会再分支判断。提高了 JS 执行效率性能。

简单来说: 某功能函数如果需要多个分支判断出一套方案,后续执行都仅需这一套方案就可采用 惰性载入 设计。

二、设计思想

  • 定义好的函数,实际上在执行的过程中是就可以被动态修改其定义的。

  • 除首次执行外,被修改的定义的函数后续被调用将使用新的函数定义。

三、示例

IE 系浏览器不同程度支持 attachEvent 或 addEventListener,其他大多数浏览器基本都支持 addEventListener 的方式。因此在用原生 JS 给 DOM 添加事件的时候,我们封装了一个通用函数 addEvent 用以暴露统一的接口给 dom 添加事件,addEvent中会对是否存在 attachEvent 或 addEventListener 进行判断进而使用各自浏览器支持的事件方法给 DOM 添加事件,然而传统的 if else 判断虽然能实现功能,但当前环境下后续的每次事件添加都会依次执行这些分支判断,显然是没有意义的执行,因为判断一次就够了。

  • 传统 if else

上述方法在每次调用时都会执行分支判断。

  • 惰性载入具体实现

    “
    1. 在函数被调用时再处理函数

    “
    1. 在函数声明时就指定适当函数

惰性载入的两种方法,在函数首次执行时做出分支判断,之后每次调用都不会再做兼容判断。

标签

frontendfrontend-javascript

评论 (0)

评论功能仅在主站可用,请访问 zephyr110.vercel.app

相关文章

OffscreenCanvas

MDN-OffscreenCanvas

2025年12月10日·7 分钟

Service Worker

Web worker 是一种在浏览器中运行的后台脚本,它可以在独立的线程中执行任务,而不会阻塞主线程的执行。Web worker 的主要作用是处理耗时的计算任务,例如图片处理、文本分析、数据处理等,以避免阻塞主线程,提高页面的响应性能

2024年5月28日·4 分钟

vue-tour二次封装

npm install vue-tour

2023年7月22日·7 分钟

← 返回文章列表