麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 使用jsDoc提升開發(fā)效率

使用jsDoc提升開發(fā)效率

來源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2022-06-02 14:35:00 1654151700

**緣起**

作為前端開發(fā)者目前使用最廣泛的編程語言 JavaScript,也是有很多的缺點(diǎn)的!大家都直到 JavaScript 是一個(gè)弱類型的編程語言,這就造成了一問題,一個(gè)變量到底是什么類型的,只能到到程序運(yùn)行的時(shí)候才只能確定!導(dǎo)致我們在寫碼的時(shí)候經(jīng)常遇到一些關(guān)于變量類型的錯(cuò)誤!并且當(dāng)我們使用 vscode 寫代碼的時(shí)候,使用別人提供的 api,代碼提示工具提示的非常好,而我們自己使用 js 編寫一些函數(shù)的時(shí)候,往往確發(fā)現(xiàn)代碼提示的不是很友好!今天我們來學(xué)習(xí)使用 jsDoc 來解決這個(gè)問題。

使用jsDoc提升我們的開發(fā)效率

先看下圖:

![img](https://pic3.zhimg.com/80/v2-5d4ff4e596b6b59f9d6e4ab89f9993da_720w.jpg)

 我們使用vscode 編寫函數(shù)過程中,函數(shù)的形參是一個(gè)字符串,我們在寫代碼的時(shí)候vscode 并不知道形參的類型,導(dǎo)致我們在寫代碼的時(shí)候并不會(huì)得到很好的代碼提示!

## jsDoc

 這個(gè)時(shí)候我們可以使用jsDoc來解決這個(gè)問題,vscode內(nèi)置了jsDoc,我們只需要在函數(shù)上面輸入/** 然后就會(huì)提示,然后直接按回車就好!

如下圖:

2

此時(shí),我們再使用username

3

就能看到所有的方法就能提示出來了,因?yàn)槲覀僯sDoc生成的注釋里面,執(zhí)行的username參數(shù)的類型。

## 什么是jsDoc

 jsDoc,顧名思義,jsDoc是一個(gè)用于JavaScript的API文檔生成器,類似于Javadoc或phpDocumentor。他可以將文檔注釋直接添加到源代碼中,就在代碼本身旁邊。JSDoc工具可以將掃描源代碼并為您成一個(gè)HTML文檔網(wǎng)站。

 JSDoc注釋通常應(yīng)該放在代碼被記錄之前。為了被JSDoc解析器識(shí)別,每個(gè)注釋必須以/**序列開頭!

## 最簡單的文檔描述

```text
/** 這是foo 函數(shù)的描述信息. */
function foo() {

}
```

 添加文檔描述很簡單,只需在文檔注釋中鍵入所需的內(nèi)容就可以。

 也可以使用特殊的JSDoc標(biāo)簽來提供更多信息。例如,如果函數(shù)是類的構(gòu)造函數(shù),則可以通過添加@constructor標(biāo)記來指示這一點(diǎn)。

```text
/**
 * 表示一本書
 * @constructor
 */
function Book(title, author) {
}
```

## 使用jsDoc標(biāo)簽添加更多信息

```text
/**
 * 表示一本書
 * @constructor
 * @param {string} title - 書的標(biāo)題.
 * @param {string} author - 書的作者.
 */
function Book(title, author) {

}
```

4

## param {string} title

 這句話相當(dāng)于給參數(shù)title增加了一個(gè)string類型!

 這個(gè)類型是可以 string 、number、 boolean等基礎(chǔ)數(shù)據(jù)類型!也可以是是個(gè)復(fù)雜數(shù)據(jù)類型。

## param {object} title

 

```text
/**
 *
 * @param {Object} book
 * @param {string} book.title
 * @param {string} book.author
 */

function buyBook(book) {   

}
```

 

5

 這樣我們在使用book的使用就會(huì)提示出所有的屬性和方法!

 不過這樣我們在每個(gè)函數(shù)內(nèi)部都使用到了book的時(shí)候,都得在注釋里面寫三句話,使用起來就比較麻煩!

## @typedef和@property

 我們可以使用@typedef`和`@property 定義一個(gè)類型,然后在其他地方使用

6

## @return

 當(dāng)我們使用Book這個(gè)構(gòu)造函數(shù)的時(shí)候,就會(huì)提示如下內(nèi)容,并且在編寫代碼的時(shí)候vscode能自動(dòng)識(shí)別title和author的類型,并且能提示對(duì)應(yīng)的類型的方法!提示的最后面有個(gè) :Book,這個(gè)提示是vscode自動(dòng)識(shí)別出來函數(shù)的返回值!我們也可以使用@return 指定返回值的類型!

 該標(biāo)簽就是用來指定函數(shù)的返回值,用法與`@param`類型,并且基本上這兩個(gè)都會(huì)同時(shí)出現(xiàn),與`@param`的區(qū)別在于,因?yàn)?a href="mailto:`@return">`@return`只會(huì)有一個(gè),所以不會(huì)像前者一樣還需要指定參數(shù)名。

```text
/**
 * @return {number} 描述
 */
function test () { }
```

## Promise 類型的返回值處理

```text
// 函數(shù)返回 Promise 實(shí)例的情況可以這么指定類型
/**
 * @return {Promise<number>}
 */
function testPromise () {
  return new Promise((res) => {
    res(1)
  })
}
```

## 生成一個(gè)網(wǎng)站

使用jsDoc編寫注釋,也可以生成一個(gè)網(wǎng)站,網(wǎng)站內(nèi)容是提取注釋的內(nèi)容

7

先全局安裝jsDoc:

```text
npm install jsdoc -g
```

然后輸入命令:

```text
jsdoc book.js
```

 使用jsDoc來注釋代碼,帶來的好處就是,維護(hù)者能夠很清晰的看出函數(shù)的作用和參數(shù)的類型,做到代碼即文檔。可以不用寫那么多的注釋!

在日常開發(fā)時(shí),結(jié)合vscode的自動(dòng)補(bǔ)全、動(dòng)態(tài)提示功能,一定能讓我們開發(fā)效率大大提升!更多關(guān)于“web前端培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的提升班,高品質(zhì)課程助理你實(shí)現(xiàn)夢想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
抖音小店運(yùn)營做什么的

在當(dāng)前的電商市場中,抖音小店已經(jīng)逐漸成為一種新的電商模式,它集成了社交化、音視頻分享、直播銷售等多種功能,使得消費(fèi)者更加便捷地進(jìn)行商品...詳情>>

2023-10-08 16:36:41
抖音小店照片要求尺寸多大

在抖音平臺(tái)開設(shè)小店已經(jīng)成為了越來越多人的選擇,相信大家已經(jīng)在各大社交平臺(tái)上看到有不少小店的推廣。在抖音上,照片是展示產(chǎn)品的重要手段,因...詳情>>

2023-10-08 16:14:25
抖音招商團(tuán)長托管服務(wù)費(fèi)怎么退回來

抖音招商團(tuán)長托管服務(wù)是抖音為有意愿創(chuàng)作內(nèi)容并帶動(dòng)其他創(chuàng)作者成為團(tuán)隊(duì)成員的用戶提供的一種服務(wù)。通過該服務(wù),招商團(tuán)長可以自主組建團(tuán)隊(duì)并得到...詳情>>

2023-10-08 16:08:53
抖音小店怎么做代銷

抖音已經(jīng)成為了一個(gè)非常受歡迎的短視頻應(yīng)用程序,在其中許多用戶都精心打造了自己的小店,用于銷售各種各樣的商品,獲取額外的收入。然而,要想...詳情>>

2023-10-08 15:28:41
怎樣開抖音小店帶貨賺錢

隨著直播帶貨的火熱,越來越多的人開始嘗試通過抖音小店來開展帶貨業(yè)務(wù)。抖音小店是抖音直播帶貨的配套,可以讓用戶在購買直播中產(chǎn)品時(shí)就實(shí)現(xiàn)購...詳情>>

2023-10-08 15:06:36
主站蜘蛛池模板: 在线观看三级激情视频| 学霸c了我一节课| 波多野给衣一区二区三区| 免费看的黄色大片| 晚上睡不着来b站一次看过瘾| 中国美团外卖男男china| 国产精品久久久久免费视频| 天堂√在线中文最新版| 村上凉子丰满禁断五十路| 尹人香蕉网在线观看视频| 99久久久精品免费观看国产| 粗大的内捧猛烈进出视频| 十六以下岁女子毛片免费| 女人和拘做受口述| 日本里番全彩acg里番下拉式| 岛国片在线播放| 精品三级内地国产在线观看| 动漫触手被吸乳羞羞动漫| 日本动漫黑暗圣经| 久久综合九色综合97欧美| 看片91| 你的腿再打开一点就能吃到了| 曰批免费视频播放免费| 波多野结衣gvg708| 国产又爽又色在线观看| 一区在线观看| 日本大片免费一级| 717影院理伦午夜论八戒| 2021国产麻豆剧果冻传媒电影| 两对夫妇交换野营| 波多野结衣57分钟办公室| 两根硕大一起挤进小h| 天天想你在线视频免费观看| 热99精品在线| 男人肌肌插女人肌肌| 香蕉一级视频| 国产60部真实乱| 国产剧情精品在线观看| 男人扒开女人下面狂躁动漫版| 成年女人a毛片免费视频| 最近中文字幕mv在线视频www |