所在的位置: js >> js市场 >> 前端JS代码规范

前端JS代码规范

互联网人进修生长社群第五期Web全栈架构师火爆报名中~

弁言

上面这几点将处事中所踩的一些坑简捷整顿了一下,团队几个体开垦,一些理解就较量首要,能够擢升开垦效率和代码的可读性。

定名,编码和评释

定名

A.文献夹定名:文献夹、文献的定名与定名空间应能代表代码功效,可读性强,如hubB.函数和变量定名:具备心义的驼峰定名,如hubList;变量函数名抑遏运用关键字和保存字,抑遏从头界说(不能重名)或界说不必C.常量:大写字母,如HUBLIST

编码

采取统一的缩进方法排版代码。缩进为2个ASCII空格,句末一定用分号末尾(待定,vue就无分号)

评释

A单行评释

B多行评释

C.Js代码评释console.log和debugger再提交D.首要函数也许类等都要增加头描画

字符串拼接

应运用数组保管字符串片断,使历时移用join办法。防止运用+或+=的方法拼接较长的字符串,每个字符串都邑运用一个小的内存片断,过量的内存片断会影响功能。

例一:

例二:会影响功能

ES6的运用

变量证实:

Let:不存在变量擢升题目;不能反复证实

常量证实:

Const:旨趣是内存住址不行变

箭头函数:

A.有函数名

B.无函数名

C.箭头函数运用提防的题目:

This指向界说者,内部无arguments目标,不能new(由于箭头函数的this即是指向界说自身),函数内部不要有太多的return

D.函数的形参不超越7个,超越用数组,调历时实参和形参对应

E.不能有反复的返回

F.在轮回内部证实函数慎用,由于是轮回履行完结函数移用才会履行

G.Return反面不要写代码,而且不封装成if…then…else…

导入和导出

运用import和export,只可位于代码顶部和顶部,要是代码中部须要按需导入文献运用require

管理地狱回调题目

A.办法一

B.办法二

C.promise管理多个ajax或准时器移用数据依赖题目

1.promise内部不存在ajax和准时器

vardata1=12;Promise.resolve().then(function(){data1=24}).then(function(){console.log(data1);})

2.存在准时器

vardata2=54;let_this=this;Promise.resolve().then(function(){returnnewPromise(function(res,rej){setTimeout(()={data2=36console.log(data2)console.log(_this)res()returndata2;},10);})}).then(function(){console.log(data2)})

在准时器内部配置res(),res履行啦,才会履行then(),要是对应的ajax也能够做好似的封装promise内部的this并不指向vue,于是须要在外观缓存

3.axios封装的promise能够在axios内部配置flag,用watch监听,值返回再履行上面的代码,并配置Flag为false

If,for…in,for…of和的运用

A.能用三元运算符就用,节减if的嵌套,第一个花括号位于一行的完毕。

B.节减见余前提决断,要是是函数返回if内部和外观返回雷同的数据表率。

C.If…elseif…else多个前提时以else末尾,由于合适抵御性编程规定D.NaN不该该用于较量,应当是决断是不是是数字E.Switch…case运用在起码见三个决断值,case不行省,屡屡case一定用break跳出F.for…of遍历数组和字符串

能够运用break,return(一个轮回一个),continue不运用,升高代码可读性

G.for…in遍历目标

For…in遍历目标囊括整个承担的属性,于是要是不过想运用目标自身的属性须要做一个决断。

以上。

原文链接




转载请注明:http://www.aierlanlan.com/rzdk/1166.html