JSDoc規范


js注釋規范基於jsdoc,寫出的代碼注釋能夠成功生成注釋文檔。 

參數和返回值類型Type:string、boolean、number、object、array、function

文件注釋

在文件頭部增加文件注釋

1 /**
2  * @file LBS控制器
3  * @author limingle
4  * @copyright Synway SFE
5  * @createDate 2017-10-16 09:40:11
6  */

變量注釋

將關鍵的變量進行特殊注釋,生成到文檔中

 1 /**
 2  * @var {object}
 3  * @desc 變量定義
 4  * @property {string} a 屬性a
 5  * @property {string} b 屬性b
 6  */
 7 var foo = {
 8     a: 'a',
 9     b: 'b'
10 }

常量注釋

將關鍵常量進行特殊注釋,生成到文檔中,如果有默認值增加@default屬性

1 /**
2  * @constant {string}
3  * @default #000
4  * @desc 常量定義
5  */
6 const COLOR_WHITE = '#fff';

方法注釋

基本方法塊注釋

如果描述不能描述清楚,添加例子來描述。

1 /**
2  * @method
3  * @param {Type} data 目標對象
4  * @returns {Type} 運營商名稱
5  * @desc 根據目標對象獲取運營商
6  */
7 function matchedNumber(data){
8     return '返回對象'
9 }

基本方法塊注釋,注釋過長

如果需要折行則在文本中使用<br/>標簽

 1 /**
 2  * @method
 3  * @param {Type} data 目標對象<br/>
 4  * 例:
 5  *  {
 6  *      target:手機號
 7  *  }
 8  * @returns {Type} 運營商名稱
 9  * @desc 根據目標對象獲取運營商
10  */
11 function matchedNumber(data){
12     return '返回對象'
13 }

基本方法塊注釋,帶默認值

 1 /**
 2  * @method
 3  * @param {Type} data={} 目標對象
 4  * 例:
 5  *  {
 6  *      target:手機號
 7  *  }
 8  * @returns {Type} 運營商名稱
 9  * @desc 根據目標對象獲取運營商
10  */
11 function matchedNumber(data){
12     return '返回對象'
13 }

方法塊注釋特殊參數

如果描述不能描述清楚,添加例子來描述。 
如果方法中有異常處理,標記異常處理注釋

如果有返回值增加@returns 如果沒有省略此屬性 

 1 /**
 2  * @method
 3  * @param {Type} data 目標對象
 4  * @returns {Type} 運營商名稱
 5  * @desc 根據目標對象獲取運營商
 6  * @throws {string} 拋出'Error'異常
 7  * @example
 8  * add(1, 2);    // 返回3
 9  */
10 function matchedNumber(data){
11     return '返回對象'
12 }

類的注釋

默認情況先一個function就是一個類 
ES6中使用Class來表示一個類 
我們項目中使用class.js來實現類,在我們項目中使用類注釋時需要在@class后邊增加類名,不要jsdoc無法自動識別類名

1 /**
2  * @class
3  * @classdesc 這是對myClass類的描述
4  * @desc 這是對myClass類的構造函數的描述
5  */
6 function myClass() {
7     ...
8 }

或者

1 /**
2  * @class LBSControllerCom
3  * @classdesc LBS控制類
4  * @desc 初始化ws
5  */
6 var LBSControllerCom = Com.extends({})

類的屬性

類的屬性和變量都會生成到jsdoc文檔的Member模塊中,在類中使用屬性標識

1 var LBSControllerCom = Com.extends({
2     /**
3      * @member {string}
4      * @desc 這樣標識類的屬性
5      */
6     foo1 : 'a',
7     init: function() {}
8 })

枚舉注釋

用於url列表或者顏色枚舉值,一般用於配置文件中

 1 /**
 2  * @enum {number}
 3  * @desc cgi常見的返回碼
 4  */
 5 var RETCODE = {
 6     /**
 7      * @desc 未登錄
 8      */
 9     NOT_LOGIN: 100000,
10     /**
11      * @desc 參數錯誤
12      */
13     PARAM_ERROR: 100001,
14     /**
15      * @type {string}
16      * @desc 未知錯誤
17      */
18     UNKOWN_ERROR: 'unkown'
19 }

參考鏈接: JSDoc 3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM