10

I have the following code:

var formSubmitHandler = function (link, form) {

    //e.preventDefault();
    var $form = form;
    var val = $form.valid();
    var action = $(form).data('action');
    var entity = $(form).data('entity');

Do I need the line "var $form = form"? Can I just later on do "var val = form.valid(); ?

It's not my code so I am wondering why the developer added the $ before the form and assigned it?

Update:

Thanks for all your replies. If as has been said it's just to indicate that it's a jQuery variable then could I just remove that line by changing the function parameters to (link, $form) ?

  • 2
    possible duplicate of [Why would a JavaScript variable start with a dollar sign?](http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start-with-a-dollar-sign) – Wesley Murch May 04 '12 at 06:05
  • Sometimes, the `$` before a variable name is to indicate that it is a jQuery object and not, say, a raw DOM element. That is, you might say `var $this = $(this)` with the `$` in front to indicate that it's a jQuery object. On the other hand, you might have `var element = document.getElementById('test')`. It's all up to the developer, of course. – Reid May 04 '12 at 06:05

4 Answers4

12

$ and jQuery are basically the jQuery instance.

It's good to understand that $( < place something here >) is a jQuery function call and $your_variable_name is just a variable with a dollar.

Some people use $ in their own variables to indicate that it is a jQuery object. With this naming convention, your source code would like this.

var formSubmitHandler = function (link, form) {
    var $form = $(form);
    var val = $form.valid();
    var action = $form.data('action');
    var entity = $form.data('entity');
Tx3
  • 6,796
  • 4
  • 37
  • 52
  • 2
    `Some people use $ in their own variables to indicate that it is a jQuery object.` just to note that it's used also in plain JS to indicate it's an HTMLElement reference. – Roko C. Buljan Jun 07 '14 at 12:41
  • 1
    I think it is very important to point out that `$` is not a jQuery thing. It is used by jQuery...often. – John Greene Sep 14 '16 at 22:12
3

No, you don't have to use the $ sign. It's just an aesthetic choice usually.

In your example code above, the function's argument is named form function (link, form). Inside the function, the new variable being declared has a $ to it so as to distinguish it from the argument variable form.

Nadh
  • 6,987
  • 2
  • 21
  • 21
3

That is not neccessary. The dollar sign before a variable is most of the times used as an indication it is a JQuery variable. JQuery uses the dollar sign as a shortcut. Using it in a variable name has no extra meaning other than the aesthetic meaning for the developer that it is a JQuery object.

Rody
  • 2,675
  • 1
  • 22
  • 40
0

It has become best practice to use the $ sign to help you distinguish between Javascript variables representing regular DOM elements (and every other data type) and variables that hold a reference to a jQuery object. For the latter you use the $ sign.

devnull69
  • 16,402
  • 8
  • 50
  • 61