我正在尝试记录一个函数生成器但没有成功,这是一个例子:
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/