摘要:代碼注釋規范一語法注釋的說明語法寫在注釋塊第一行這是注釋的說明切換音頻播放狀態播放停止省略其它代碼標簽語法標簽的說明語法說明文字學生學生的名字類型語法可與標簽結合使用,如必傳參數可選參數語法可與標簽結合使用,如必傳參數可選參數參數有
Javascript 代碼注釋規范 一、語法 1. 注釋的說明
語法:寫在注釋塊第一行
/** * events-function(這是注釋的說明) * @description 切換音頻播放狀態(播放/停止) */ togglePlay: function() { // 省略其它代碼... }2. 標簽
語法:@tagName
/** @function */ function fn() { }3. 標簽的說明
語法:- 說明文字
/** * @constructor Student - 學生 * @param {string} name - 學生的名字 */ function Student(name) { }4. 類型
語法:{typeName} (可與標簽結合使用,如@param)
/** * @param {string} a 必傳參數 */ function fn(a, b, c) { }5. 可選參數
語法:[paramName] (可與標簽結合使用,如@param)
/** * @param {string} a 必傳參數 * @param {number} [b] 可選參數 */ function fn(a, b) { }6. 參數有默認值
語法:[paramName=value] (可與標簽結合使用,如@param)
/** * @param {string} a 必傳參數 * @param {number} [c=666] 參數有默認值 */ function fn(a, c) { }7. 鏈接
語法:[link text]{@link namepathOrURL}
/** * See {@link MyClass} and [MyClass"s foo property]{@link MyClass#foo}. * Also, check out {@link http://www.google.com|Google} and * {@link https://github.com GitHub}. */二、示例 1. 函數
/** * 轉換時間字符串為時間對象 * @function _str2time * @param strTime {String} - e.g "2017-02-13 10:02:58" or "2017-02-13" or "9:10" * @param type {String} - e.g date, dateTime, time */ function _str2time(strTime, type) { // 省略其它代碼 }2. 類/構造函數
/** * 定時器 * @class Timer */ function Timer() { this._timeId = 0; this._eventId = -1; this.eventHandler = { "stop": {} }; /** * 定時器是否處于停止狀態 * @memberof Timer * @member stopped * @instance */ this.stopped = true; /** * 啟動定時器 * @memberof Timer * @instance * @method start * @param {function} handler - 定時器每次執行時調用的函數 * @param {number} interval - 定時器執行的時間間隔 */ this.start = function (handler, interval) { this.stopped = false; let _recursion = function() { this._timeId = setTimeout(() => { handler() .then(() => { if (this.stopped) { clearTimeout(this._timeId); this._trigger("stop"); return; } _recursion(); }) .catch(err => { clearTimeout(this._timeId); this.stopped = true; this._trigger("stop"); if (err) throw new Error(err); }); }, interval) }.bind(this); _recursion(); } /** * 停止定時器 * @memberof Timer * @instance * @method stop */ this.stop = function () { this.stopped = true; } } /** * 監聽事件 * @memberof Timer * @instance * @method on * @param {string} type - 事件類型 e.g "stop" * @param {function} fn - 事件處理函數 * @return {number} eventId - 事件處理函數Id,用于取消監聽 */ Timer.prototype.on = function (type, fn) { let _eventId = fn.name || ++this._eventId; this.eventHandler[type][_eventId] = fn; return _eventId; } /** * 觸發事件 * @private */ Timer.prototype._trigger = function (type) { let handlerMap = this.eventHandler[type]; for (let key in handlerMap) { handlerMap[key](); } } /** * 取消監聽事件 * @memberof Timer * @instance * @method off * @param {string} type - 事件類型 e.g "stop" * @param {function} target - 事件處理函數Id或者函數名字 */ Timer.prototype.off = function (type, target) { let _target = (typeof target === "function") ? target.name : target; delete this.eventHandler[type][_target]; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107999.html
摘要:規范目的為提高團隊協作效率便于后臺人員添加功能及前端后期優化維護輸出高質量的文檔特制訂此文檔。 規范目的 為提高團隊協作效率, 便于后臺人員添加功能及前端后期優化維護, 輸出高質量的文檔, 特制訂此文檔。 文件規范 文件命名規則 文件名稱統一用小寫的英文字母、數字和下劃線的組合,其中不得包含漢字、空格和特殊字符;命名原則的指導思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個...
摘要:規范目的為提高團隊協作效率便于后臺人員添加功能及前端后期優化維護輸出高質量的文檔特制訂此文檔。 規范目的 為提高團隊協作效率, 便于后臺人員添加功能及前端后期優化維護, 輸出高質量的文檔, 特制訂此文檔。 文件規范 文件命名規則 文件名稱統一用小寫的英文字母、數字和下劃線的組合,其中不得包含漢字、空格和特殊字符;命名原則的指導思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個...
摘要:規范目的為提高團隊協作效率便于后臺人員添加功能及前端后期優化維護輸出高質量的文檔特制訂此文檔。 規范目的 為提高團隊協作效率, 便于后臺人員添加功能及前端后期優化維護, 輸出高質量的文檔, 特制訂此文檔。 文件規范 文件命名規則 文件名稱統一用小寫的英文字母、數字和下劃線的組合,其中不得包含漢字、空格和特殊字符;命名原則的指導思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個...
摘要:書寫規范微軟雅黑網頁制作細節區代碼規范區是指代碼的和之間的內容。 一、規范目的1.1 概述 ..................................................................................................................................... 1 二、...
閱讀 914·2021-11-22 13:54
閱讀 2843·2021-09-28 09:36
閱讀 2980·2019-08-30 15:55
閱讀 1952·2019-08-30 15:44
閱讀 544·2019-08-29 12:31
閱讀 2564·2019-08-28 18:18
閱讀 1199·2019-08-26 13:58
閱讀 1383·2019-08-26 13:44