Javascript代码编写规范 2011.12.8

      作为一名合格的前端攻城师,代码规范是少不了的。无规矩不成方圆,当然Javasript的代码编写也要有规范,良好的规范能大大促进团队工作的效率和代码的质量。今天小前给coder们分享一些Javascript代码编写规范,希望大家能牢记哦!

Javascript语句规范
1、语句必须都有分号结尾,除了for, function, if, switch, try, while
2、只有长语句可以考虑断行,如:

//错误写法
TEMPL_SONGLIST.replace('{TABLE}', da['results'])
.replace('{PREV_NUM}', prev)
.replace('{NEXT_NUM}', next)
.replace('{CURRENT_NUM}', current)
.replace('{TOTAL_NUM}', da.page_total);
 
//正确写法
TEMPL_SONGLIST.replace('{TABLE}', da['results']).
replace('{PREV_NUM}', prev).
replace('{NEXT_NUM}', next).
replace('{CURRENT_NUM}', current).
replace('{TOTAL_NUM}', da.page_total);
 
//为了避免和JSLint的检验机制冲突,"."或"+"这类操作符放在行尾.

3、避免额外的逗号。如:var arr = [1,2,3,];
4、所有的循环体和判断体都需要用”{}”括起来。如:

//错误写法
if (condition)
statement;
//或
if (condition) statement;
 
//正确写法
if (condition) {
statement;
}
//或
if (condition) { statement; }

5、for-in循环体中必须用hasOwnProperty方法检查成员是否为自身成员。避免来自原型链上的污染。
6、变量声明。变量声明应放在function的最上面。避免使用未声明的变量。

//错误写法
if (n > 0) {
   var isvalid = true;
}
 
//正确写法
var isvalid;
if (n > 0) {
   isvalid = true;
}

7、不要使用with, void, evil。
8、使用严格的条件判断符。用===代替==,用!==代替!=。
9、下面类型的对象不建议用new构造:new Number, new String, new Boolean, new Object(用{}代替), new Array(用[]代替)。
10、引用对象成员用obj.prop1代替obj['prop1'],除非属性名是变量。

Javascript命名规范
1、构造器的首字母大写。如:

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

2、对象的属性或方法名采用小驼峰式(lower camel-case),如”init”, “bindEvent”, “updatePosition”:

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

3、私有变量名用下划线开头。如:”_current”, “_defaultConfig”
4、常量名全部大写,单词间用下划线分隔。如:”CSS_BTN_CLOSE”, “TXT_LOADING”
5、变量名的前缀:

前缀

类型

示例

n

integer

nVariableName

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

integer as counter/iterator

(for i=0; i<=oArray.length; i++)

s

string

sVariableName

o

object

oObjectName

is, can, has

boolean

[Boolean name]ConditionName

event method

event attachment

[event type]_MethodName

get

accessor method

getMethodName

set

accessor method

setMethodName

Javascript格式化规范
1、语句中的必要空格和缩进
2、用来包含语句的”()”前后需要跟空格,诸如: if / for / while / switch ( statements ) { … } 等
3、”=”前后需要跟空格
4、数组成员间的”,”后面需要跟空格
5、长语句采用断行:

//错误写法
for (t in selected) { if (!hash[t]) deselect(t) }
 
//正确写法
for ( t in selected ) {
   if ( !hash[t] ) {
      deselect(t);
   }
}

6、格式化对象参数:

//错误写法
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 }});
 
//正确写法
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
   }
});
  1. 忆夏天 回复 2011.12.8 20:42

    擦….要不要这么专业哦

发表评论