Javascript命名规范

整理下,参考了许多库,谢谢那些无私奉献的大牛,愿上帝保佑你们。

1、构造器采用驼峰式命名,并且首字母大写。如:

function DialogManager ( config ) {
    statement;
}

2、枚举类型变量采用驼峰式命名,并且首字母大写。属性名单词全部大写,单词间以下划线分隔。如:

var QueueError = {
    QUEUE_LIMIT_EXCEEDED: -100,
    FILE_EXCEEDS_SIZE_LIMIT: -110,
    ZERO_BYTE_FILE: -120,
    INVALID_FILETYPE: -130
};

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

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

4、私有变量名用下划线开头。如:"_current", "_defaultConfig":

function Dialog( config ) {
    this._defaultConfig = {};
}

5、常量名全部大写,单词间用下划线分隔。如:“CSS_BTN_CLOSE”, "TXT_LOADING":

function Dialog( config ) {
    this.DEFAULT_CONFIG = {
        CSS_BTN_CLOSE: 'x-btn-cls',
        TXT_LOADING: '加载中...'
    };
}

6、方法的返回值如果是布尔值,则必须以is、can、has、should等为前缀:

function isGroupId( id ) {
    return (id + '').indexOf( 'G' ) > 0;
}

7、简写单词在变量名中出现时也应该遵循驼峰式写法。

// 正确
function getXml () {}
function getId () {}
function getHtml () {}
var xmlDocument;

// 错误
function getXML(){}
function getID(){}
function getHTML(){}
var XMLDocument;
在闭包中访问所在实例this指针时,统一使用变量me指向。
var me = this;
setTimeout( function() {
    // ...
}, 1000 );

// 错误
var ins = this;
setTimeout( function() {
    // ins.
}, 1000 );

9、符合下列场景的变量,请使用对应的命名

变量名 变量含义 示例
e Event对象

$( '#a' ).click( function( e ){

    // ...

});

el HTMLElement

var el =$( 'div.demo' )[ 0 ];

ex Exception

try{

    // statement

}

catch( ex ){

    console.log( ex );

}

opts JSON结构的配置项

function MyClass( opts ){

    this._defaultOpts = {...};

    K.mix( this._defaultOpts, opts );

}

 

10、所有Zepto/jQuery对象,变量名以$符号开头,如:

var $div = $('<div></div>');

11、变量命名前缀应当是名词,与函数区分开来,函数应当是动词

// 好的写法
var count = 10,
    myName = 'Abcd',
    found = true;

// 不好的写法
var getCount = 10,
    isFound = true;

// 好的写法
function getName() {
    return myName;
}

// 不好的写法
function theName(){
    return myName;
}

以上,谢谢大家。

 

 

 

 

 

posted @ 2014-05-15 11:43  卡布其诺猫  阅读(558)  评论(0编辑  收藏  举报