JSDoc規範
阿新 • • 發佈:2019-01-02
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