溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

js如何按強(qiáng)類型風(fēng)格寫代碼

發(fā)布時(shí)間:2022-03-16 13:58:56 來(lái)源:億速云 閱讀:221 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下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è)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

js
AI