2016-04-26 65 views
-2

我知道一個美元符號($)是jQuery的替代品,用於從jQuery對象訪問函數和變量。這可以被認爲是C中宏的等價物,因爲它可以幫助我們不像每次像C中的宏那樣輸入jQuery?美元符號可以被認爲是jQuery中的宏嗎?

+0

由於您對宏的定義非常鬆散,因此可以將任何變量視爲宏。所有變量都是其他值的替代品。 – 4castle

回答

1

$是您可以在JavaScript中使用的變量。

和其他一些圖書館使用的_一樣。

除了作爲一個字符的有效變量名之外,沒有什麼特別的東西。

您可以自己重新定義它的任何地方$ = fooBar();

+0

$變量的類型是什麼?它是一個對象還是一個函數? –

+0

@yoyo_fun無論你想要什麼。在jQuery的情況下,它是一個函數。 – Tuvia

2

我不會把它的宏,因爲它沒有在任何類型的預處理程序的處理。相反,它只是一個別名。例如,在C,你可以有兩個變量對同一指針:

int * a = malloc(sizeof(int)); 
int * b = a; 

同樣,在Javascript中,你得到這種關係的jQuery:

var jQuery = ...; 
var $ = jQuery; 

他們都「點」同一個對象,沒有任何處理工作可以完成,例如使用宏得到的結果。

+0

所以我猜他們沒有考慮過情況,當有人在切換到jquerry之前使用另一個名爲$的變量... –

+2

@yoyo_fun他們實際上做了。他們之所以選擇它是因爲'$'是一個不常見的變量名稱,他們甚至在['noConflict'](https://api.jquery.com/jquery.noconflict/)中添加來處理這種情況。 –

+0

有趣。感謝您的洞察力。也是什麼類型的$變量?它是一個正常的JavaScript對象? –