简体   繁体   中英

Do I need to put a dollar before variable names with javascript?

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) ?

$ 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');

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 .

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM