views:

177

answers:

4

      I am a JavaScript learner and have been researching this matter, but with no success. What is the $ symbol used for in JavaScript besides regular expressions? Any resources or readings regarding this would be appreciated. Thanks.

+3  A: 

I became acquainted with it in JavaScript when I started using the Prototype framework. In Prototype, $ is simply the name of an often used function (very, very much simplified - a short for document.getElementById). Personally, I like the terseness of it.

Afaik, it's not used for anything by the language itself.

For what it's worth, Douglas Crockford advises against using $ in the variable/function names you write:

Do not use $ (dollar sign) or \ (backslash) in names.


Adding another, rather opinionated, quote from Mr. Crockford's talk "And Then There Was JavaScript":

Dollar sign was added to the language specifically for use by code generators and macro processes, so if you have machines writing code then the machines need to be confident that the variables that they create will not conflict with variables that the humans are going to create. To distinguish them, we’ll allow the machines to use dollar sign. Some of the ninjas found out about that and thought oh, dollar sign, I can use dollar sign as a function name, so they’re out there doing that. And it looks stupid. I mean, look at a program with dollar sign.

Lauri Lehtinen
So is `$("someId")` the same as `document.getElementById("someId")` ?
Babiker
It's that - and more, in Prototype.
Lauri Lehtinen
@Babiker It depends on how `$` is defined (there is no function "$" defined within ECMAScript): `function $ () { /* libraries do what they want */ }`
pst
+8  A: 

It doesn't mean anything special.

But because $ is allowed in identifier names, many Javascript libraries have taken to using $ as the "central" interface to them, or at least as a shortcut for accessing their functionality.

For example, if you're using jQuery and you say $("div"), this is a call to the $ function with argument "div". When you say $.post(), it's calling the post method on the $ object (Javascript is nice in that functions are first-class objects).

Dean Harding
The $ was actually included in the ECMA specification to distinguish machine generated code from human code .
NM
A: 

The $ (dollar sign) is a custom function to make the process of finding/getting elements much simpler.

hallie
Yes, in jQuery. Otherwise, it has no special meaning in JavaScript.
Anurag
jQuery is javascript...also check the tags, the answer pertains to jQuery
hallie
jQuery is Javascript, but all Javascript is not jQuery.
Joel Mueller
A: 

Perhaps you'll find this thread helpful.

http://stackoverflow.com/questions/846585/can-someone-explain-the-dollar-sign-in-javascript

jromero
Consider adding a comment to the question instead.
Lauri Lehtinen