我有一个包含多个方法的对象,并且是一个类的成员。我如何用JSDoc记录这个?
这是我的尝试。记录了这个SomeClass#helperFunctions
,但是它的两个方法都被省略了。
/**
* @class SomeClass
* @param name
*/
var SomeClass = function(name) {};
/**
* @member SomeClass#helperFunctions
*/
SomeClass.prototype.helperFunctions = {
/**
* @method SomeClass#helperFunctions.doSomething
* @param {Array} arr
*/
doSomething: function(arr) {}
};
/**
* @method SomeClass#helperFunctions.doSomethingElse
* @param {Array} arr
*/
SomeClass.protype.helperFunctions.doSomethingElse = function(arr) {};

答案 0 :(得分:0)
这是我能想到的最好的。
我将SomeClass#helperFunctions
的方法记录为全局变量,然后使用链接将它们包含为SomeClass#helperFunctions
的属性。
/**
* @class SomeClass
* @param {String} name
*/
var SomeClass = function(name) {};
/**
* @member SomeClass#helperFunctions
* @property {Function} doSomething [_doSomething]{@link _doSomething}
* @property {Function} doSomethingElse [_doSomethingElse]{@link _doSomethingElse}
*/
SomeClass.prototype.helperFunctions = {
doSomething: _doSomething,
doSomethingElse: _doSomethingElse
};
/**
* @function _doSomething
* @param {Array} arr
*/
_doSomething = function(arr) {};
/**
* @function _doSomethingElse
* @param {Array} arr
*/
_doSomethingElse = function(arr) {};
在我的实际应用程序中SomeClass
也是一个模块,所以它写成:
/**
* @module path/to/SomeClass
*/
/**
* @class module:path/to/SomeClass
*/
var SomeClass = module.exports = function() {};
然后链接被写为{@link module:path/to/SomeClass~_doSomething}
,因此它会链接到模块页面上的位置,而不是在Globals中查找它们。