一、按強(qiáng)類型風(fēng)格定義變量
大家要知道js是一種弱類型語言,定義變量的時(shí)候不要太隨意,大多數(shù)初學(xué)者定義變量時(shí),只是聲明變量而沒有賦值,這樣就顯得太隨意了
聲明變量的時(shí)候,一定要指明變量的類型,告訴解析器,你要聲明變量的類型,不要讓他去猜
目前創(chuàng)新互聯(lián)建站已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、迎江網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
//2. 定義變量
let odd, //奇數(shù)個(gè)數(shù)
even, //偶數(shù)個(gè)數(shù)
sum,//總和
avg//平均值
上面這種就是不友好的代碼,應(yīng)該改為
//2. 定義變量
let odd = 0, //奇數(shù)個(gè)數(shù)
even = 0, //偶數(shù)個(gè)數(shù)
sum = 0,//總和
avg = 0//平均值
這樣指明類型,方便其他人閱讀,知道該變量保存什么類型的值
注意:
1.也不要隨意修改變量的類型,比如上面明明是保存一個(gè)數(shù)字,下面又保存一個(gè)對象,這就讓人感覺到很困惑,不知道該保存什么值===這種做法不提倡
2.函數(shù)返回值也應(yīng)該確定類型
function getPrice(count) {
if (count < 0) return "";
else return count * 100;
}
上面函數(shù)就沒有確定類型,一會(huì)字符串,一會(huì)數(shù)字,都不知道結(jié)果該不該參與其他功能運(yùn)算
function getPrice(count) {
if (count < 0) return -1;
else return count * 100;
}
小于0,返回-1,這種就把兩個(gè)返回值的類型統(tǒng)一化
二、避免使用==
1.編碼習(xí)慣不同,大多數(shù)人喜歡使用== 而不是===,因?yàn)?=寫起來比較簡單點(diǎn),少了一個(gè)=,但是在使用==在JSLint檢查的時(shí)候是不通過的
if(a == b){}
在JSLint下會(huì)輸出:Expected?‘===’?and?instead?saw?‘==’,所以最好使用===
2.使用==還有可能會(huì)出現(xiàn)一些不好的現(xiàn)象,對后期代碼有一定影響
null == undefined //true
'' == '0' //false
0 == '' //true
0 == '0' //true
'' == 0 //true
new String("abc") == "abc"http://true
new Boolean(true) == true //true
true == 1 //true
以上用===出現(xiàn)的結(jié)果都為false,這樣才比較合理
三、合并表達(dá)式
如果用1句代碼就可以實(shí)現(xiàn)5句代碼的功能,那往往1句代碼的執(zhí)行效率會(huì)比較高,并且可讀性可能會(huì)更好
1.用三元運(yùn)算替換if-else
if(a>10){
return 1
}else{
return 0
}
改寫:
return a>10 ? 1 : 0
2.使用連等( 從右向左運(yùn)算 )
let sum = count = odd = even = 0;
3.自增 ( 利用自增也可以簡化代碼 )
console.log( ++a );
平常些代碼都必須要注意這些,下一節(jié)繼續(xù)講解ES6編程規(guī)范
(本文由源碼時(shí)代技術(shù)老師撰寫,轉(zhuǎn)載請注明出處)