您好,登錄后才能下訂單哦!
小編給大家分享一下js如何按強(qiáng)類型風(fēng)格寫代碼,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
按強(qiáng)類型風(fēng)格寫代碼
JS 是弱類型的,但是寫代碼的時(shí)候不能太隨意,寫得太隨意也體現(xiàn)了編碼風(fēng)格不好。下面分點(diǎn)說(shuō)明:
(1)定義變量的時(shí)候要指明類型,告訴 JS 解釋器這個(gè)變量是什么數(shù)據(jù)類型的,而不要讓解釋器去猜,例如不好的寫法:
var num, str, obj;
聲明了三個(gè)變量,但其實(shí)沒(méi)什么用,因?yàn)榻忉屍鞑恢浪鼈兪鞘裁搭愋偷模玫膶懛☉?yīng)該是這樣的:
var num = 0, str = '', obj = null;
定義變量的時(shí)候就給他一個(gè)默認(rèn)值,這樣不僅方便了解釋器,也方便了閱讀代碼的人,他會(huì)在心里有數(shù)——知道這些變量可能會(huì)當(dāng)作什么用。
(2)不要隨意地改變變量的類型,例如下面代碼:
var num = 5; num = "-" + num;
第 1 行它是一個(gè)整型,第 2 行它變成了一個(gè)字符串。因?yàn)?JS 最終都會(huì)被解釋成匯編的語(yǔ)言,匯編語(yǔ)言變量的類型肯定是要確定的,你把一個(gè)整型的改成了字符串,那解釋器就得做一些額外的處理。并且這種編碼風(fēng)格是不提倡的,有一個(gè)變量第 1 行是一個(gè)整型,第 10 行變成了一個(gè)字符串,第 20 行又變成了一個(gè) object,這樣就讓閱讀代碼的人比較困惑,上面明明是一個(gè)整數(shù),怎么突然又變成一個(gè)字符串了。好的寫法應(yīng)該是再定義一個(gè)字符串的變量:
var num = 5; var sign = "-" + num;
(3)函數(shù)的返回類型應(yīng)該是要確定的,例如下面不確定的寫法:
function getPrice(count){ if(count < 0) return ""; else return count * 100; }
getPrice 這個(gè)函數(shù)有可能返回一個(gè)整數(shù),也有可能返回一個(gè)空的字符串。這樣寫也不太好,雖然它是符合 JS 語(yǔ)法的,但這種編碼風(fēng)格是不好的。使用你這個(gè)函數(shù)的人會(huì)有點(diǎn)無(wú)所適從,不敢直接進(jìn)行加減乘除,因?yàn)槿绻祷刈址M(jìn)行運(yùn)算的話值就是 NaN 了。函數(shù)的返回類型應(yīng)該是要確定的,如下面是返回整型:
function getPrice(count){ if(count < 0) return -1; else return count * 100; }
然后告訴使用者,如果返回-1 就表示不合法。如果類型確定,解釋器也不用去做一些額外的工作,可以加快運(yùn)行速度。
以上是“js如何按強(qiáng)類型風(fēng)格寫代碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。