Js规范
- 语言规范
- 声明变量必须加上 let 关键字.不要再使用 var
- 优先使用箭头函数
- 使用模板字符串取代连接字符串
${a}+ ${b}
‘a’+‘b’
- 使用分号
- 如果仅依靠语句间的隐式分隔,有时会很麻烦,使用分号更能清楚哪里是语句的起止,而且有些情况下,漏掉分号会出 BUG
var a = 1 ;
- 块内函数声明
- 不要在块内声明一个函数
- 如果确实需要,使用函数表达式来初始化变量
if (x) { //不推荐
function fn() {}
}
if (x) { //推荐
let fn = function() {}
}
-
循环注意
- forEach
- map
- filter
- every
- some
- for…in
- for…of
- for循环 while
- do…while
-
命名规范:
- camel 表示驼峰命名法 pascal表示 首字母大写 getDate HomeTitile( class )
- 变量名: 必须使用 camel 命名法
- 参数名: 必须使用 camel 命名法
- 函数名: 必须使用 camel 命名法
- 方法/属性: 必须使用 camel 命名法
- 私有 ( 保护 ) 成员: 必须以下划线开头
- 常量名: 必须使用全部大写的下划线命名法,e.g. XTEP_HOST_API
- 类名: 必须使用 pascal 命名法
- 枚举名: 必须使用 pascal 命名法
- 枚举的属性: 必须使用全部大写的下划线命名法,e.g. XTEP_HOST_API
- 命名空间: 必须使用 camel 命名法
- 语义: 命名同时还需要关注语义
-
声明:
- var let const 应该放在function 已进入函数的时候
- 注释变量的功能及代表的含义,且应以字母顺序排序.每个变量单独占一行以便添加注释
var totalPrice = 1; //totalPrice表示商品购物车的总价 √
var num = 10,totalNum = 100 ; 不建议
- 回调函数规范:
- 回调函数统一使用 Promise 函数,回调成功的参数统一为 res,错误参数为 err
let callback = new Promise((resolve, reject) => {
if (/* 异步操作成功 */){
resolve(value);
} else {
reject(err);
}
});
callback.then((res) => {
console.log('成功回调!', res);
}).catch((err) => {
console.log('失败回调!', err);
});
- 标点规范
- js中统一使用反引号(``)或是单引号(’’), 不使用双引号("")
- 函数默认值
- 函数默认值写在其他参数后面
function fn(a,b,name = 'zxm'){
console.log(name)
}
fn( 1, 2 , 3 )