1

以下编码风格来自于《编写可维护的 javascript》一书中,加上个人总结,自代表个人风格,仅供参考。

缩进

缩进可以采用2格缩进或者4格缩进,具体使用哪个看团队的代码规范和自己的爱好。

行尾分号

行尾一律加上;分号,除非该行需要折行。

行的长度

单行不应该超过80个字符,如果超过,应该折行编写。

折行

当一行长度达到单行最大字符限制时,手动将一行拆成两行。遵守:

  1. 在运算符后换行
  2. 下一行增加两层缩进
callAFunction(argument1, argument2, argument3, argument4, argument5, argument6,
        argument7);

空行

一段代码的语义和另一段代码不相关,这时就应该使用空格将它们分隔开来。

命名

  • 常量
    常量使用大写字母和下划线命名。
var MAX_COUNT = 10;
var URL = 'http://www.google.com/';
  • 普通变量和函数
    遵守驼峰大小写命名法。变量以名词作为前缀,函数以动词作为前缀。
var myName = 'Tom';

function getName() {
    return myName;
}

动词常见约定:
clipboard.png

  • 构造函数
    构造函数首字母应该大写。
function Person(name) {
    this.name = name;
}

var me = Person('Tom');

基本类型的表示

  • 字符串
    普通字符串采用'单引号包裹,json 对象中的字符串采用双引号包裹。
var name = 'Tom';

var me = {
    name: "Tom",
    age: 23
}
  • 数字
    书写完整,不要省去整数部分或小数部分,不要使用八进制写法
  • null
    不要使用null来检查是否传入了某个参数;不要用null来检查一个未初始化的变量。
  • undefined
    尽量避免在代码中使用undefined,如果要判断一个变量是否存在可以这样:
if(name === null || typeof(name) === 'undefined') {
    // ..
}
  • 对象
    采用对象字面量的方式定义对象:
var me = {
    name: "Tom",
    age: 23
}
  • 数组
    采用数组字面量的方式定义数组:
var colors = ['red', 'green', 'blue'];

MockingBird
5.8k 声望743 粉丝