js 命名规范

ECMAScript 规范中标识符采用驼峰大小写格式,驼峰命名法由小(大)写字母开始,后续每个单词首字母都大写。根据首字母是否大写,分为两种方式:

  • Pascal Case 大驼峰式命名法:首字母大写。eg:StudentInfo、UserInfo、ProductInfo
  • Camel Case 小驼峰式命名法:首字母小写。eg:studentInfo、userInfo、productInfo
    标识符,则包括变量、函数名、类名、属性名和函数或类的参数,每个命名方法又略有不同,下面详细解释一下:

项目命名

全部采用小写方式, 以下划线分隔。

示例:my_project_name

目录命名

参照项目命名规则;有复数结构时,要采用复数命名法。

示例:scripts, styles, images, data_models

JS 文件命名

变量 :必须采用小驼峰式命名法。
命名规范 :前缀应当是名词。(函数的名字前缀为动词,以此区分变量和函数)
命名建议 :尽量在变量名字中体现所属类型,如:length、count 等表示数字类型;而包含 name、title 表示为字符串类型。

1
2
3
4
5
6
// 好的命名方式
let maxCount = 10;
let tableTitle = 'LoginTable';
// 不好的命名方式
let setCount = 10;
let getTitle = 'LoginTable';

常量 :必须采用全大写的命名,且单词以_分割,常量通常用于 ajax 请求 url,和一些不会改变的数据
命名规范 :使用大写字母和下划线来组合命名,下划线用以分割单词。

1
2
const MAX_COUNT = 10;
const URL = 'http://www.foreverz.com';

函数

  • 命名方法:小驼峰式命名法。
  • 命名规范:前缀应当为动词。
  • 命名建议:可使用常见动词约定
动词 含义 返回值
can 判断是否可执行某个动作(权限) 函数返回一个布尔值。true:可执行;false:不可执行
has 判断是否含有某个值 函数返回一个布尔值。true:含有此值;false:不含有此值
is 判断是否为某个值 函数返回一个布尔值。true:为某个值;false:不为某个值
get 获取某个值 函数返回一个非布尔值
set 设置某个值 无返回值、返回是否设置成功或者返回链式对象
load 加载某些数据 无返回值或者返回是否加载完成的结果
1
2
3
4
5
6
7
8
// 是否可阅读
function canRead(): boolean {
return true;
}
// 获取名称
function getName(): string {
return this.name;
}

类 & 构造函数

  • 命名方法:大驼峰式命名法,首字母大写。
  • 命名规范:前缀为名称。
1
2
3
4
5
6
7
class Person {
public name: string;
constructor(name) {
this.name = name;
}
}
const person = new Person('mevyn');

类的成员

类的成员包含:

  • 公共属性和方法:跟变量和函数的命名一样。
  • 私有属性和方法:前缀为_(下划线),后面跟公共属性和方法一样的命名方式。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Person {
private _name: string;
constructor() { }
// 公共方法
getName() {
return this._name;
}
// 公共方法
setName(name) {
this._name = name;
}
}
const person = new Person();
person.setName('mervyn');
person.getName(); // ->mervyn

js 支持三种不同类型的注释:行内注释、单行注释和多行注释:

行内注释

  • 说明:行内注释以两个斜线开始,以行尾结束。
  • 语法:code // 这是行内注释
  • 使用方式://(双斜线)与代码之间保留一个空格,并且//(双斜线)与注释文字之间保留一个空格。
    命名建议:

// 用来显示一个解释的评论
// -> 用来显示表达式的结果,
// >用来显示 console 的输出结果

1
2
3
4
function test() { // 测试函数
console.log('Hello World!'); // >Hello World!
return 3 + 2; // ->5
}

单行注释

  • 说明:单行注释以两个斜线开始,以行尾结束。基本常用注释
  • 语法:// 这是单行注释
  • 使用方式:单独一行://(双斜线)与注释文字之间保留一个空格。
1
2
// 调用了一个函数;1)单独在一行
setTitle();

多行注释

  • 说明:以 /_ 开头, _/ 结尾
  • 语法:/_ 注释说明 _/
  • 使用方法:若开始/和结束/都在一行,推荐采用单行注释。若至少三行注释时,第一行为/,最后行为/,其他行以开始,并且注释文字与保留一个空格。
1
2
3
4
5
/*
* 代码执行到这里后会调用setTitle()函数
* setTitle():设置title的值
*/
setTitle();

函数(方法)注释

  • 说明:函数(方法)注释也是多行注释的一种,但是包含了特殊的注释要求,参照 JSDoc
  • 语法:
1
2
3
4
/**
* 函数说明
* @关键字
*/

常用注释关键字:(只列出一部分,并不是全部)

注释名 语法 含义 示例
@param @param 参数名 {参数类型} 描述信息 描述参数的信息 @param name {String} 传入名称
@return @return {返回类型} 描述信息 描述返回值的信息 @return {Boolean} true:可执行;false:不可执行
@author @author 作者信息 [附属信息:如邮箱、日期] 描述此函数作者的信息 @author 张三 2015/07/21
@version @version XX.XX.XX 描述此函数的版本号 @version 1.0.3
@example @example 示例代码 演示函数的使用 @example setTitle(‘测试’)