Home  >  Article  >  Web Front-end  >  Summary of JavaScript Code Specifications_Basic Tutorial

Summary of JavaScript Code Specifications_Basic Tutorial

WBOY
WBOYOriginal
2016-05-16 12:04:031428browse

1. Javascript code should comply with Douban-JSLint inspection standards

1-1. Statements must end with semicolon, except for, function, if, switch, try, while

1-2 . Only long statements can be considered for line breaks, such as:

TEMPL_SONGLIST.replace('{TABLE}', da['results'])
.replace('{PREV_NUM}', prev)
.replace('{NEXT_NUM}', next)
.replace('{CURRENT_NUM}', current)
.replace('{TOTAL_NUM}', da.page_total);

To avoid It conflicts with JSLint's verification mechanism. Operators such as "." or "+" are placed at the end of the line. The above code should be changed to:

TEMPL_SONGLIST.replace('{TABLE}', da['results' ]).
replace('{PREV_NUM}', prev).
replace('{NEXT_NUM}', next).
replace('{CURRENT_NUM}', current).
replace( '{TOTAL_NUM}', da.page_total);

1-3. Avoid extra commas. For example: var arr = [1,2,3,];

1-4. All loop bodies and judgment bodies need to be enclosed in "{}". For example:

Wrong:

if (condition)
statement;
or
if (condition) statement;


Correct:
if (condition) {
statement; or
if (condition) { statement; }

1-5. The hasOwnProperty method must be used in the for-in loop body to check whether the member is for its own members. Avoid contamination from the prototype chain.

1-6. Variable declaration. Variable declarations should be placed at the top of the function. Avoid using undeclared variables.

Incorrect:

if (n > 0) {
var isvalid = true;

Correct:

var isvalid;
if (n > 0) {
isvalid = true;
}

1-7. Do not use with, void, evil.

1-8. Use strict conditional operators. Use === instead of == and !== instead of !=.

1-9. The following types of objects are not recommended to be constructed with new: new Number, new String, new Boolean, new Object (replace with {}), new Array (replace with []).

1-10. Use obj.prop1 instead of obj[“prop1”] to reference object members, unless the property name is a variable.

Note: Douban-JSLint is a customized JSLint

Note: If you use other global variables in the module code and want to skip the JSLint check, you can add a statement to the file, such as:

2. Javascript naming rules

2-1. Capitalize the first letter of the constructor. For example:

function Dialog (config) {
statement;
} var dlg = new Dialog({...});

2-2. Object properties or Method names are in lower camel-case, such as "init", "bindEvent", "updatePosition":

Dialog.prototype = {
init: function () {},
bindEvent: function () {},
updatePosition: function () {} };

2-3. Private variable names start with an underscore. For example: "_current", "_defaultConfig"

2-4. Constant names should be in all capital letters, and words should be separated by underscores.For example: "CSS_BTN_CLOSE", "TXT_LOADING"

2-5. Prefix of variable name:

Prefix

Element

Example

integer

nVariableName

i,j,k,m,n, etc. *

integer as counter/iterator

(for i=0 ; i
string

sVariableName

object

oObjectName

is, can, has
boolean

[Boolean name]ConditionName

event method

event attachment

[event type]_MethodName

accessor method

getMethodName

accessor method

setMethodName

Note: Only a counter/iterator should use a single-letter designation.

3. Code formatting requirements

3-1. Necessary spaces and indentation in statements

3-1-1. Spaces need to be followed before and after "()" used to include statements , such as: if / for / while / switch ( statements ) { … } etc.

3-1-2. "=" needs to be followed by spaces

3-1-3. Array members The "," in between needs to be followed by a space

Not good:

for (t in selected) { if (!hash[t]) deselect(t) }

Good:

for ( t in selected ) {
if ( !hash[t] ) {
deselect(t); }

3-2. Use line breaks for long statements :

Bad:

TEMPL_SONGLIST.replace('{TABLE}', da['results']).replace('{PREV_NUM}', prev).replace('{NEXT_NUM }', next).replace('{CURRENT_NUM}', current).replace('{TOTAL_NUM}', da.page_total);

Good:

TEMPL_SONGLIST.replace('{ TABLE}', da['results']).
replace('{PREV_NUM}', prev).
replace('{NEXT_NUM}', next).
replace('{CURRENT_NUM}' , current).
replace('{TOTAL_NUM}', da.page_total);

3-3. Format object parameters:

Bad:

embedSWF(id, { url: '/swf/player30792.swf?url=' el.href, width: 261, height: 30, params: { wmode:'transparent' }, attributes: { id: "player-sample" i, name: "player-sample" i }});

Good:

Copy code The code is as follows:

embedSWF(id, {
url: '/swf/player30792.swf?url=' el.href,
width: 261,
height: 30,
params: { wmode:'transparent' },
attributes: {
id: "player-sample" i,
name: "player-sample" i
});
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn