變量名采用下劃線并且盡可能用英文描述清楚意圖例如 projectid可以寫作
project_id方法名盡量采用駝峰法 例如
getProjectDetial如果多處使用同一判斷表達(dá)式應(yīng)盡量采取定義變量保存表達(dá)式結(jié)果的方式,這樣一是減少代碼量,更重要的是方便后期維護(hù) !!注意定義出來(lái)的這個(gè)變量一定要寫清楚注釋
盡量采用
===來(lái)代替==盡量多用ES6語(yǔ)法 例如:對(duì)于ajax請(qǐng)求返回的結(jié)果可以采用解構(gòu)賦值,字符串拼接可以采用模板字符串等等 可以看看這個(gè)https://blog.csdn.net/RUCwang/article/details/83002819
用
async...await代替generator函數(shù)或者多層Promise函數(shù),因?yàn)檫@樣簡(jiǎn)單但是原理是一樣的對(duì)于判斷一個(gè)數(shù)組或者字符串是否包含一個(gè)值的情況用
includes方法會(huì)好一些注意Object.assgin()的使用
-
注意參數(shù)可以簡(jiǎn)寫比如:
function getProjectDetail(url,project_id){ //let params = { //project_id:project_id //} //這里可以看到后臺(tái)需要的參數(shù)是project_id,讓我們定義的形參也是project_id所以這里可以簡(jiǎn)寫成下面 //let params = { //project_id //} //對(duì)于參數(shù)較少的情況可以直接定義成下面的這種 {project_id} axios.get(url,{project_id}).then(res=>{ ... ... }) } if...else的優(yōu)化
//情況一:
let a = 1,
b=2,
c;
if(a=== b){
c = true;
}else{
c === false
}
//類似這種的可以直接寫 c = a===b
c=a===b
//情況二:
let a = []
if(a.length>0){
doSthing()
}
//這種注意兩點(diǎn):
//1.判斷條件a.length>0可以直接寫成a.length即:
if(a.length){
doSthing()
}
//2.利用運(yùn)算&&巧妙簡(jiǎn)化,綜合1的情況可以直接寫為:
a.length&&doSthing()
//情況3對(duì)于下面這種情況:
//如果是0,就是喬丹
//如果是1,就是科比
//如果是2,就是韋德
//如果是3,就是麥迪
//有2種處理方式
//1:
//數(shù)組映射
let nameArr= ['喬丹','科比','韋德','麥迪']
name = nameArr[index]
//2:
//JSON優(yōu)化
let nameObj = {
'0':'喬丹',
'1':'科比',
'2':'韋德',
'3':'麥迪',
}
name = nameObj[key]
??!注意 這里不是很推薦switch -case這種方式,不是因?yàn)檫@種方式不好,但就代碼量來(lái)說(shuō),和用if判斷沒有什么差別,還是要寫很多判斷,不夠簡(jiǎn)潔。
(如果你喜歡這篇文章,就我一個(gè)轉(zhuǎn)、評(píng)、贊吧,不足之處還希望諸位大神批評(píng)、指正)