如何使用JSDoc记录函数返回的函数而不修改后者?

时间:2017-11-15 00:02:15

标签: javascript jsdoc3

这个问题与another one on this site非常相似,只是还有一个限制:我无法修改创建新函数的函数。

假设我们有一个名为someObject的对象,其中有一个名为addMethod的方法,可用于为此对象创建新方法,如下所示:

someObject.addMethod( "methodName", function () {
    // Do some stuff here
} );

我想使用jsDoc记录someObject,但除了通过使用addMethod函数之外,我不允许修改它。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

最后,我找到的唯一方法是不使用匿名函数并使用@memberof jsDoc标记,如下所示:

someObject.addMethod("publicName", myPublicMethod);

/**
 * @function
 * @memberof SimpleObject#
 * @desc
 * The description of myPublicMethod.
 *
 * @returns true if  can capture the display.
 */
function myPublicMethod() {

};

我以为我必须使用@memberof! (强制形式的@memberof;注意感叹号),但没有必要。即使函数未在SomeObject类中定义,它仍然有效。

相关问题