變量名采用下劃線并且盡可能用英文描述清楚意圖例如 projectid可以寫作
project_id
方法名盡量采用駝峰法 例如
getProjectDetial
如果多處使用同一判斷表達式應(yīng)盡量采取定義變量保存表達式結(jié)果的方式,這樣一是減少代碼量,更重要的是方便后期維護 !!注意定義出來的這個變量一定要寫清楚注釋
盡量采用
===
來代替==
盡量多用ES6語法 例如:對于ajax請求返回的結(jié)果可以采用解構(gòu)賦值悬荣,字符串拼接可以采用模板字符串等等 可以看看這個https://blog.csdn.net/RUCwang/article/details/83002819
用
async...await
代替generator函數(shù)或者多層Promise函數(shù)姥宝,因為這樣簡單但是原理是一樣的對于判斷一個數(shù)組或者字符串是否包含一個值的情況用
includes
方法會好一些注意Object.assgin()的使用
-
注意參數(shù)可以簡寫比如:
function getProjectDetail(url,project_id){ //let params = { //project_id:project_id //} //這里可以看到后臺需要的參數(shù)是project_id殴瘦,讓我們定義的形參也是project_id所以這里可以簡寫成下面 //let params = { //project_id //} //對于參數(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()
}
//這種注意兩點:
//1.判斷條件a.length>0可以直接寫成a.length即:
if(a.length){
doSthing()
}
//2.利用運算&&巧妙簡化妓雾,綜合1的情況可以直接寫為:
a.length&&doSthing()
//情況3對于下面這種情況:
//如果是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這種方式,不是因為這種方式不好微谓,但就代碼量來說森篷,和用if判斷沒有什么差別,還是要寫很多判斷豺型,不夠簡潔仲智。
(如果你喜歡這篇文章,就我一個轉(zhuǎn)触创、評坎藐、贊吧,不足之處還希望諸位大神批評哼绑、指正)