Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JavaScript Double Dollar Sign

Tags:

javascript

I understand the use of the (single) dollar sign in popular JavaScript libraries such as jQuery and Prototype. I also understand the significance of the double dollar sign in PHP (variable variables). Dean Edwards uses the double dollar sign in his famous addEvent() JavaScript function. Here is an except containing the use of the double dollar sign:

function addEvent(element, type, handler) {   // assign each event handler a unique ID   if (!handler.$$guid) handler.$$guid = addEvent.guid++;   // create a hash table of event types for the element   if (!element.events) element.events = {};   // create a hash table of event handlers for each element/event pair   var handlers = element.events[type];   if (!handlers) {     handlers = element.events[type] = {};     // store the existing event handler (if there is one)     if (element["on" + type]) {       handlers[0] = element["on" + type];     }   }   // store the event handler in the hash table   handlers[handler.$$guid] = handler;   // assign a global event handler to do all the work   element["on" + type] = handleEvent; }; // a counter used to create unique IDs addEvent.guid = 1; 

From what I've read, the dollar sign only officially has significance in JavaScript for code generation tools, although that standard is largely ignored today due to the dollar signs widespread usage in the aforementioned JavaScript libraries.

Can anyone shed any light on this usage of the double dollar sign in JavaScript?

Thanks very much!

like image 546
NewToThis Avatar asked Sep 23 '09 03:09

NewToThis


People also ask

What is $$ in JavaScript?

$ and $$ are valid variable names in JavaScript, they have no special meaning. Usually they set their value to library instances, in your example if you check the closure call, at the end of the file you'll see that $ is jQuery in this case if it is defined and $$ is cytoscape.

What is $$ in jQuery?

$ sign is just a valid javascript identifier which is used as an alias for jQuery. Prototype, jQuery, and most javascript libraries use the $ as the primary base object (or function). Most of them also have a way to relinquish the $ so that it can be used with another library that uses it.

What does dollar sign do in JavaScript?

The dollar sign is treated just like a normal letter or underscore ( _ ). It has no special significance to the interpreter. Unlike many similar languages, identifiers (such as functional and variable names) in Javascript can contain not only letters, numbers and underscores, but can also contain dollar signs.

What is the use of double $$ for PHP?

What does $$ (dollar dollar or double dollar) means in PHP ? The $x (single dollar) is the normal variable with the name x that stores any value like string, integer, float, etc. The $$x (double dollar) is a reference variable that stores the value which can be accessed by using the $ symbol before the $x value.


1 Answers

I wrote this function. :)

There is no longer any special significance to the $$ prefixes. It was a notation that I used back when packer was popular. Packer would shorten variable names with this prefix. Nowadays Packer will automatically shorten variable names so this notation is redundant.

Short answer, the $ sign is a valid identifier in JavaScript so you are just looking at a bunch of ugly variable names. ;)

like image 167
Dean Edwards Avatar answered Sep 30 '22 22:09

Dean Edwards