我一直在思考 jQuery 在 Javascript 代码中实现的方式。jQuery 和 Prototype 等库默认绑定到别名;对于这些示例,他们使用美元符号$
。(下划线适当地使用下划线字符_
。)
我明白这是如何工作的。我也了解许多库都提供了 noConflict 模式。
我的问题是,为什么这些库默认使用别名?
从我所见,像这样的别名似乎只让程序员在调用函数时输入更少的字符,这似乎微不足道。(老实说 - 我有点偏见,因为我在输入长变量名时没有问题。)我认为这可能是出于文件大小目的,但随着缩小器的扩散,这似乎是一个有争议的问题(以及过早优化的一种形式)。
现在,我并不是真的反对使用别名——我只是想知道为什么它是这些库的默认选项。目前,为了避免使用别名,我们必须明确声明我们不想使用它。关于使用别名进行库调用,我是否缺少特定的好处?我可以很容易想到的唯一优势是,如果您以某种方式编写跨库代码 - 要交换库,您只需交换别名。不过,我认为我从未见过这样做过。
有人知道这背后的原因吗?我,一方面,真的很想知道。