javascript - 如何使用 jsdoc 记录函数生成器?

标签 javascript jsdoc

我正在尝试记录一个函数生成器但没有成功,这是一个例子:

function genericObjectGenerator(tagname) {
  var specificObject = function () {};

  specificObject.getClassName = function () {
    return tagname;
  }

  specificObject.prototype.sayHello = function(name) {
    return tagname + " says hello to " + name;
  }

  return specificObject;
}

var MyObject = genericObjectGenerator("object1");

var myObjectInstance = new MyObject();

myObjectInstance.sayHello();

我应该如何记录 genericObjectGenerator 及其 specificObject 函数,以便让 JSDoc(和 IntelliJ)正确解析 sayHello。

最佳答案

这应该可以解决问题

/**
 * @param {string} tagname - the name of the tag
 * @returns {specificObject}
 */

function genericObjectGenerator(tagname) {
    var specificObject = function () {};

    specificObject.getClassName = function () {
        return tagname;
    };

    /**
     * @param {string} name - name as string
     * @returns {string}
     */

    specificObject.prototype.sayHello = function(name) {
        return tagname + ' says hello to ' + name;
    };

    return specificObject;
}

var MyObject = genericObjectGenerator('object1');

var myObjectInstance = new MyObject();

myObjectInstance.sayHello(123); // mark as warning
myObjectInstance.sayHello('123'); // not marking

关于javascript - 如何使用 jsdoc 记录函数生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11975237/

相关文章:

javascript - jsdoc 和 vscode : Documenting a function passed as an argument to another function

javascript - 全局覆盖 ajax beforeSend

javascript - 带有数组数组的 json 对象

javascript - React中的({})是什么意思?

javascript - 在javascript中解析十六进制文字

javascript - VS 代码中的 jsDoc @callback

javascript - jsdoc 有效参数类型

javascript - 模式验证函数在 Mongoose 中如何工作?

javascript - 如何在 JavaScript 中记录命名空间?

comments - TypeScript 的文档工具,例如 JSDoc