2016-04-26 64 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对象? –