您好,登錄后才能下訂單哦!
一、按強類型風格定義變量
大家要知道js是一種弱類型語言,定義變量的時候不要太隨意,大多數初學者定義變量時,只是聲明變量而沒有賦值,這樣就顯得太隨意了
聲明變量的時候,一定要指明變量的類型,告訴解析器,你要聲明變量的類型,不要讓他去猜
//2. 定義變量
let odd, //奇數個數
even, //偶數個數
sum,//總和
avg//平均值
上面這種就是不友好的代碼,應該改為
//2. 定義變量
let odd = 0, //奇數個數
even = 0, //偶數個數
sum = 0,//總和
avg = 0//平均值
這樣指明類型,方便其他人閱讀,知道該變量保存什么類型的值
注意:
1.也不要隨意修改變量的類型,比如上面明明是保存一個數字,下面又保存一個對象,這就讓人感覺到很困惑,不知道該保存什么值===這種做法不提倡
2.函數返回值也應該確定類型
function getPrice(count) {
if (count < 0) return "";
else return count * 100;
}
上面函數就沒有確定類型,一會字符串,一會數字,都不知道結果該不該參與其他功能運算
function getPrice(count) {
if (count < 0) return -1;
else return count * 100;
}
小于0,返回-1,這種就把兩個返回值的類型統一化
二、避免使用==
1.編碼習慣不同,大多數人喜歡使用== 而不是===,因為==寫起來比較簡單點,少了一個=,但是在使用==在JSLint檢查的時候是不通過的
if(a == b){}
在JSLint下會輸出:Expected?‘===’?and?instead?saw?‘==’,所以最好使用===
2.使用==還有可能會出現一些不好的現象,對后期代碼有一定影響
null == undefined //true
'' == '0' //false
0 == '' //true
0 == '0' //true
'' == 0 //true
new String("abc") == "abc"//true
new Boolean(true) == true //true
true == 1 //true
以上用===出現的結果都為false,這樣才比較合理
三、合并表達式
如果用1句代碼就可以實現5句代碼的功能,那往往1句代碼的執行效率會比較高,并且可讀性可能會更好
1.用三元運算替換if-else
if(a>10){
return 1
}else{
return 0
}
改寫:
return a>10 ? 1 : 0
2.使用連等( 從右向左運算 )
let sum = count = odd = even = 0;
3.自增 ( 利用自增也可以簡化代碼 )
console.log( ++a );
平常些代碼都必須要注意這些,下一節繼續講解ES6編程規范
(本文由源碼時代技術老師撰寫,轉載請注明出處)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。