You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将addEventListener的事件名存入变量节省体积是否为良好实践?

问题解答

是否属于良好实践?

  • 算是值得考虑的实践,核心优势体现在两个层面:
    1. 维护性提升:如果后续需要替换事件类型(比如从mousedown改为pointerdown适配多端),只需要修改变量的赋值语句,不用在104处代码逐一替换,大幅降低出错概率。
    2. 包体积优化:"mousedown"是9个字符,用变量代替后,每次调用能减少7个字符的冗余,104次调用累计下来能节省一定的下载字节(如果项目未开启gzip压缩,这个优化的效果会更明显)。
  • 注意点:变量命名尽量兼顾简洁性和可读性,比如用mouseDown代替md,避免团队协作时其他成员对短变量名产生歧义。

代码性能是否有所提升?

  • 运行时性能无变化:JavaScript引擎会对重复字符串做池化优化,直接使用"mousedown"和使用变量引用该字符串,在执行addEventListener时的效率完全一致,不会带来运行时的性能差异。
  • 下载性能有微小提升:如上文所说,减少了冗余字符的传输量,尤其是在未开启压缩的场景下,能略微降低资源下载耗时;若项目已开启gzip/brotli压缩,重复字符串的压缩率极高,这个优化的实际收益会被弱化,但依然存在。

示例代码优化建议(兼顾可读性和简洁性):

const mouseDownEvent = 'mousedown';
element.addEventListener(mouseDownEvent, function(){});

内容的提问来源于stack exchange,提问作者y e n i m a l

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 03:22:39