javascript - 默认 jQuery 别名 ($) 背后的原因

标签 javascript jquery prototype underscore.js

<分区>

我一直在思考 jQuery 在 Javascript 代码中的实现方式。 jQuery 和 Prototype 等库默认绑定(bind)到一个别名;对于这些示例,他们使用美元符号 $。 (下划线适本地使用下划线字符 _。)

我明白这是怎么回事。我还了解到许多库提供了 noConflict 模式。

我的问题是,为什么这些库默认使用别名?

据我所知,像这样的别名似乎只能让程序员在调用函数时输入更少的字符,这似乎微不足道。 (老实说 - 我有点偏见,因为我没有输入长变量名的问题。)我认为这可能是为了文件大小的目的,但随着 minifiers 的激增,这似乎是一个有争议的问题(以及一种过早优化的形式)。

另一方面,别名似乎是cause a lot of confusion for people using these libraries .

现在,我并不是真正反对使用别名——我只是想知道为什么它是这些库的默认选项。目前,为了避免使用别名,我们必须明确声明我们不想使用它。使用别名进行库调用是否有我遗漏的特定好处?我很容易想到的唯一优势是,如果您以某种方式编写跨库代码——要交换库,您只需交换别名即可。不过,我认为我从未见过这样做。

有人知道这背后的原因吗?就我而言,我真的很想知道。

最佳答案

“据我所知,像这样的别名似乎只能让程序员在调用函数时键入更少的字符,这似乎微不足道。”

这也是设计 VB 的人的想法。 “这是什么

for (int i=0; i<10;i+=2){
}

东西!有什么问题:

For i as Integer = 0 To 10 Step 2
Next i 

所以我节省了 13 次击键!那是微不足道的。”

当这就是我们所做的时,这不是微不足道的。天。长。

使用 jQuery Cycle 插件:http://malsup.github.com/jquery.cycle.all.js .它有 400 个 $ 实例。如果您要使用 jQuery 而不是 $,那将是额外的 2000 键击。这就是为什么 IDE 现在执行括号等自动完成的原因。

关于javascript - 默认 jQuery 别名 ($) 背后的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12135456/

相关文章:

javascript - React Native Redux 防止操作在 2 分钟内重复两次

javascript - Noob javascript 1行解释

javascript - 游标类型 : move ONLY when drag

javascript - 了解经典继承和原型(prototype)继承之间的区别

Javascript原型(prototype),如何访问原型(prototype)函数

javascript - (Javascript) 获取字符串中的子字符串并将其替换为另一个

php - 将 php/mysql 值传递给 div,可通过 javascript 访问

jquery - Null 不是 AJAX 的对象并检索部分页面

javascript - 使用选择名称数组提交之前的 jquery 表单检查

javascript - 是否可以从对象函数内部在 Canvas 上绘制?