如何为修改String原型的内联函数正确编写JSDoc?

时间:2017-08-04 03:08:01

标签: javascript jsdoc

如何正确记录扩展String对象原型的函数?例如:

if (!String.prototype.format) {
    /**
     * @name String.prototype.format
     * Replaces symbols like {0}, {1} in a string with the values from the arguments.
     */
    String.prototype.format = function () {
        var args = arguments;
        return this.replace(/{(\d+)}/g, function (match, number) {
            return typeof args[number] != 'undefined'
              ? args[number]
              : match
            ;
        });
    };
}

我在使用和不使用@function和@name注释的情况下尝试过。

Visual Studio 2017并没有开始显示带有函数描述的工具提示,因为它在添加JSDoc注释时通常会这样做。

1 个答案:

答案 0 :(得分:0)

这是否有效

if (!String.prototype.format) {
    /**
     * @namespace String
     */

    /**
     * @memberof String
     * @name String#format
     * @function
     * Replaces symbols like {0}, {1} in a string with the values from the arguments.
     */
    String.prototype.format = function () {
        var args = arguments;
        return this.replace(/{(\d+)}/g, function (match, number) {
            return typeof args[number] != 'undefined'
              ? args[number]
              : match
            ;
        });
    };
}