Bootstrap.js V4中代码内符号“$$$1”的含义是什么?
Bootstrap.js里的
$$$1到底是什么? 嘿,这个细节抓得真准!其实你看到的$$$1根本不是什么特殊语法或者Bootstrap专属的神秘符号——它只是代码压缩混淆后的产物而已。
核心原因:代码压缩的常规操作
前端项目上线前,几乎都会通过工具(比如Terser、UglifyJS这类)对JS代码进行压缩混淆,其中很重要的一步就是把长的、有意义的变量名(比如jQuery、$)替换成短的、无意义的符号(像$$$1、_0xabc这类)。这么做的目的只有一个:大幅减小文件体积,让页面加载更快。
对应你给出的代码片段解析
咱们对着你贴的V4代码来看:
- 第62行:
var Util = function ($$$1) {...}
这里的$$$1就是压缩前的$(也就是jQuery对象)。因为Bootstrap V4依赖jQuery,Util这个工具类的构造函数需要接收jQuery实例作为参数,压缩后就被替换成了$$$1。 - 第103行:
$$$1(this).one(Util.TRANSITION_END, function () { called = true; });
这行其实就是压缩后的$(this).one(...),用jQuery给当前元素绑定一个仅触发一次的过渡结束事件,功能和未压缩的代码完全一致,只是变量名被简化了。
小提示
如果你想看清晰的源码逻辑,直接去Bootstrap官网下载未压缩的源码版本(比如bootstrap.js而不是bootstrap.min.js),里面的变量名都是清晰易懂的,比如Util的定义会是var Util = function ($) {...},那行事件绑定代码也会是$(this).one(...)。
内容的提问来源于stack exchange,提问作者Byron2017
相关产品推荐
相关产品推荐

