国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Javascript 注釋規范

ChanceWong / 3049人閱讀

摘要:代碼注釋規范一語法注釋的說明語法寫在注釋塊第一行這是注釋的說明切換音頻播放狀態播放停止省略其它代碼標簽語法標簽的說明語法說明文字學生學生的名字類型語法可與標簽結合使用,如必傳參數可選參數語法可與標簽結合使用,如必傳參數可選參數參數有

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

相關文章

  • Web前端開發規范手冊

    摘要:規范目的為提高團隊協作效率便于后臺人員添加功能及前端后期優化維護輸出高質量的文檔特制訂此文檔。 規范目的 為提高團隊協作效率, 便于后臺人員添加功能及前端后期優化維護, 輸出高質量的文檔, 特制訂此文檔。 文件規范 文件命名規則 文件名稱統一用小寫的英文字母、數字和下劃線的組合,其中不得包含漢字、空格和特殊字符;命名原則的指導思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個...

    wua_wua2012 評論0 收藏0
  • Web前端開發規范手冊

    摘要:規范目的為提高團隊協作效率便于后臺人員添加功能及前端后期優化維護輸出高質量的文檔特制訂此文檔。 規范目的 為提高團隊協作效率, 便于后臺人員添加功能及前端后期優化維護, 輸出高質量的文檔, 特制訂此文檔。 文件規范 文件命名規則 文件名稱統一用小寫的英文字母、數字和下劃線的組合,其中不得包含漢字、空格和特殊字符;命名原則的指導思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個...

    Tamic 評論0 收藏0
  • Web前端開發規范手冊

    摘要:規范目的為提高團隊協作效率便于后臺人員添加功能及前端后期優化維護輸出高質量的文檔特制訂此文檔。 規范目的 為提高團隊協作效率, 便于后臺人員添加功能及前端后期優化維護, 輸出高質量的文檔, 特制訂此文檔。 文件規范 文件命名規則 文件名稱統一用小寫的英文字母、數字和下劃線的組合,其中不得包含漢字、空格和特殊字符;命名原則的指導思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個...

    xiaotianyi 評論0 收藏0
  • Web前端開發規范手冊

    摘要:書寫規范微軟雅黑網頁制作細節區代碼規范區是指代碼的和之間的內容。 一、規范目的1.1 概述 ..................................................................................................................................... 1 二、...

    番茄西紅柿 評論0 收藏0
  • 前端代碼編寫規范

    摘要:前端代碼規范代碼編寫規范縮進每一層級由個空格組成,避免使用制表符進行縮進。單目運算符的操作數之間不應該用空白隔開語句中的表達式之間應當用空格隔開代碼編寫規范頭部文檔類型建議使用格式的。內聯元素寫在一行內,塊狀元素還有列表和表格要另起一行。 前端代碼規范 JavaScript代碼編寫規范 縮進 每一層級由4個空格組成,避免使用制表符(Tab)進行縮進。 行的長度 每行長度不應該超過80個...

    liangdas 評論0 收藏0

發表評論

0條評論

ChanceWong

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<