jQuery编码规范

2010-10-16 黄毅

原文: http://docs.jquery.com/JQuery_Core_Style_Guidelines

jQuery核心模块的编码规范,用在自己的javascript项目里也不错,就是有几点和python的编码规范不一致,比如鼓励用tab缩进,也许是担心js空格太多增大文件大小。

空格

  • 使用tab进行缩进

  • 代码中多用点空格

    // 错:
    if(blah==="foo"){
    foo("bar","baz",{zoo:1});
    }
    // 对:
    if ( blah === "foo" ) {
    foo( "bar", "baz", {zoo: 1} );
    }
  • 左花括号前面一定要有空格

  • 行内不要使用tab

    var a = true,
    c = false, // yay
    b = false; // grrr
  • 空行不要有空格

  • 行尾不要有空格

等价判断

尽量使用严格的等价判断符 === ,尽量不用 ==

代码块

  • if/else/for/while/try 要使用花括号,且要换行。

  • 代码块一定要用花括号括起来:

    // 错:
    if ( true )
    blah();
    // 对:
    if ( true ) {
    blah();
    }

不要把语句和判断条件放在同一行:

// 错:
if ( true ) return;
if ( true ) blah();
// 对:
if ( true ) {
return;
}
if ( true ) {
blah();
}
  • else/else if/catch 要和花括号在同一行:

    if ( blah ) {
    baz();
    } else {
    baz2();
    }

    例外: else if 的情况, else 就不要加花括号了:

    } else if ( test ) {
    blah();
    }
    // 没必要:
    } else {
    if ( test ) {
    blah();
    }
    }
  • 不要使用三元操作符取代 if/else 语句。

  • 不要使用 object && object.method() 取代 if/else 语句,除非在条件判断中。

函数调用

  • 参数两边要加一个空格

    foo( true );
    foo( "blah" );

    例外:如果已经在函数调用中的话,里面的函数调用可以不加空格:

    foo( bar(true) );

    例外:函数,对象,数组字面量,如果是唯一参数的话,可以紧贴括号:

    foo(function() { });
    foo([ ]);
    foo({ });
  • 空函数调用不需要加空格:

    foo();
  • 逗号和冒号后面一定要跟空格

数组和对象

  • 空对象和数组不需要填入空格:

    []
    {}
  • 逗号和冒号后面一定要跟空格

赋值

  • 赋值语句一定要跟分号。
  • 分号后面一定要换行。

类型检查

  • Global Variables: typeof variable === "undefined"
  • Local Variables: variable === undefined
  • Properties: object.prop === undefined

正则表达式

只准用 .test().exec() 。不准用 "string".match()

字符串

字符串一定要用双引号,不能用单引号。

节点

  • 使用 .nodeName 而非 .tagName
  • 使用 .nodeType 来判断节点的类型(不要用 .nodeName
  • 不要手动往节点上挂自定义的属性,一定要使用 .data()

blog comments powered by Disqus

转载请注明出处,收藏或分享这篇文章到: