2012-07-12 199 views
-2

在jQuery,mooTools,Prototype.js和其他JavaScript框架中,通常使用美元符号作为元素选择器。它选择DOM节点并将框架应用于它。JavaScript框架中的美元符号

我讨厌这个。

作为程序员,“$”对我来说毫无意义。在jQuery中,你可以只是替换美元符号:

$('#divID')是一回事jQuery('#divID'),我觉得更加明确。

但是,我遇到了麻烦,发现其他框架是否支持类似的替代符号。

MooTools有$$$,与原型也使用$。有谁知道什么功能(如果有的话)取代这些?

+2

'var prototype = $'。现在疯了。 – Matt 2012-07-12 13:56:49

+0

* $ * = * S *为选择? '$'是一个按键,我想这就是人们喜欢它的原因。 – josh3736 2012-07-12 14:13:36

+0

$是一个简单的,开放的和有效的变量名,这就是它被使用的原因。这当然是一个按键,但是为什么程序员不鼓励使用单字母变量和函数名称是一个很好的理由。 – omniuni 2012-07-12 20:23:07

回答

1

$是一个有效的 javascript变量。

任何东西都可以分配给它!

例如:

$ = 42; 

//or 
$ = jQuery; 

$仅仅是众多JavaScript库用它来存储他们的init函数变量。


所以,既然你现在知道了$可以是功能(当它涉及到许多图书馆),你可以指定$任何其他变量:

var newVar = $; 
+0

我想你错读了这个问题。他似乎在问如何使用除'$'以外的函数名称来引用Prototype/mooTools(如jQuery提供'jQuery')。 – Matt 2012-07-12 13:59:09

+0

@Matt嗯嗯,这就是它看起来......我添加到我的答案更好地符合OP,但也解释了为什么和如何'$'可以使用。 – Neal 2012-07-12 14:00:44

+0

更具体地说,我在问其他框架是否有像jQuery一样的内置特定函数名称。我遇到了一些情况,其中使用了多个框架,或者在可以使用多个框架的情况下有用的情况,并且在所有这些框架中使用$作为主要功能名称使得事情相当混乱。不过谢谢你的回答。 – omniuni 2012-07-12 21:11:51

2

如果想要另一个名字对于功能,只是分配一个,这样

var myName = $; 

那么整个功能通过这个新可用。

+0

这是真的,但它不能解决冲突。例如,如果我做 var myName = $;我是在命名原型,mootools还是jQuery函数? – omniuni 2012-07-12 20:20:59

+0

@omniuni Your're命名目前持有该变量的任何内容。如果您想使用多个框架,请逐一加载它们并在加载下一个框架之前分配新名称。 – Sirko 2012-07-13 09:31:49