tags:

views:

45

answers:

2

On various sites, jQuery's $ variable is referred to as an alias, and on others, it is referred to as a factory. I took a look at the source code, and I think the former is correct. As far as I can see, the dollar symbol is being defined here:

// Expose jQuery to the global object
return (window.jQuery = window.$ = jQuery);

This is setting both $ and jQuery to the SAME alias; there is no 'factory' for jQuery objects. Are the sites referring to $ as a 'factory' simply wrong?

+3  A: 

I think either is an okay term. The dollar sign is certainly an alias for the jQuery function, specifically to be used as a shorthand. If someone refers to the function as a factory, I don't think that's specific to the $ alias, but just describing what the jQuery function does in general, which is create objects from various different types of input.

Jimmy Cuadra
Makes sense, cheers.
Jez
+1  A: 

The jQuery function (on the right of the assignment in your question) is a factory (it creates new jQuery objects). It is not in the global scope, because it is defined in the scope of a self-executing function.

window.$ and window.jQuery are global aliases for the constructor.

lonesomeday