弁言
上面这几点将处事中所踩的一些坑简捷整顿了一下,团队几个体开垦,一些理解就较量首要,能够擢升开垦效率和代码的可读性。
定名,编码和评释
定名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遍历目标囊括整个承担的属性,于是要是不过想运用目标自身的属性须要做一个决断。
以上。
原文链接