javascript - 如何为修改 String 原型(prototype)的内联函数正确编写 JSDoc?

标签 javascript jsdoc

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

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 注释时通常那样开始显示带有函数描述的工具提示。

最佳答案

这个可以吗

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
            ;
        });
    };
}

关于javascript - 如何为修改 String 原型(prototype)的内联函数正确编写 JSDoc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45497670/

相关文章:

javascript - jQuery 进度条 PHP 上传未正确响应

javascript - 如何使用 done() 或 next() 将参数传递给下游函数

javascript - 从输入字段获取值

自调用函数中声明的类的 JavaScript Intellisense 在 Visual Studio 中不起作用

javascript - JSDoc 生成文档中的分组函数

typescript - 在 Typescript 中使用 JSDoc 中定义的接口(interface)

javascript - 如何在单击 anchor 文本时触发 onclick 事件

javascript - 在 Javascript 中,如何合并对象数组?

javascript - Array.<number> 还是 Array<number>?

javascript - 从 JS 使用 TypeScript 类型