Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Space after function name is wrong?

Tags:

javascript

I was using JSLint and I got an error for putting a space after the function name. Why is that bad?

function coolness () {
    var hi = "this";
}

ERROR: Problem at line 1 character 19: Unexpected space between 'coolness' and '('.

like image 413
supercoolville Avatar asked Mar 19 '12 06:03

supercoolville


People also ask

Can a function name have a space?

No, in javascript a function cannot contain spaces.

Should there be space after function?

Rule DetailsIf it is "always" then all function names must be followed by at least one space. If "never" then there should be no spaces between the name and the parameter list. The default is "never" .


2 Answers

According to Crockford,

For named functions, DO NOT insert space between function name and parentheses:

function doStuff() {
  //stuff here
}

For anonymous functions, DO insert space between function keyword and parentheses:

function () {
  //stuff here
}
like image 139
sebarmeli Avatar answered Oct 20 '22 21:10

sebarmeli


JSLint is not a JavaScript syntax checker as much as it is a JavaScript style checker. The style guidelines it uses are those written by Douglas Crockford.

Some people do not agree with his style decisions, some people do. They are not law and you are not required to follow them. Alternative JS linters such as JSHint exist.

The particular rule you are running into is here:

There should be no space between the name of a function and the (left parenthesis) of its parameter list.

JavaScript is not whitespace-sensitive. You can add this space if it makes you feel better. (It is not standard, however.)

like image 47
Interrobang Avatar answered Oct 20 '22 21:10

Interrobang