2012-07-12 202 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