Javascript JSDoc:我如何记录;选项“;“父对象”的对象文字;“类”;?
我正在使用jQuery的Javascript JSDoc:我如何记录;选项“;“父对象”的对象文字;“类”;?,javascript,jsdoc,Javascript,Jsdoc,我正在使用jQuery的$.widget()基本“类”,它提供了一个选项()方法。因为方法不在我的代码中,所以我没有地方记录参数 我试图将jsDoc放在默认选项文本中的字段上,但它们根本没有被选中。然后,我尝试在同一个对象文本上使用@class和@lends标记,但这可能会让人很困惑,因为对象文本并不是一个真正的类 我试验过的另一种替代方法是在构造函数的jsDoc中放入类似@param options.field description的内容。但是,这样做的缺点是将文档与代码分离。此外,构造函数
$.widget()
基本“类”,它提供了一个选项()
方法。因为方法不在我的代码中,所以我没有地方记录参数
我试图将jsDoc放在默认选项文本中的字段上,但它们根本没有被选中。然后,我尝试在同一个对象文本上使用@class
和@lends
标记,但这可能会让人很困惑,因为对象文本并不是一个真正的类
我试验过的另一种替代方法是在构造函数的jsDoc中放入类似@param options.field description
的内容。但是,这样做的缺点是将文档与代码分离。此外,构造函数实际上没有名为options
的参数,因为它都由jQuery处理
Javascript大师如何处理这个问题?是否应该建议一个新标记?如果我正确理解了您的问题,您有一个函数,它接受一个选项对象,并且您希望记录其所有成员 在JSDoc中如何实现这一点的粗略示例如下:
/**
* @description
* Compliment someone on their something.
*
* @param {Object} options
* @param {String} options.name A person's name
* @param {String} options.feature A person's property
*/
function flatter (options) {
options = options || {};
console.log('%s, loving your %s!', options.name, options.feature);
}
您的问题听起来与此非常相似:@LeviHackwith Yes,它很相似,但正如我在问题中所描述的那样,我没有一个地方可以使用@param标记,因为jQuery人员已经实现了所有锅炉板代码(包括通常使用@param标记的
options()
函数)这似乎是一种方法,我不认为这是一个重复的链接问题,因为这是特定于jQuery小部件的。我也有同样的问题,并且已经推断出,由于在实例化小部件时通常(至少在我们的例子中)指定了选项,所以我将@param{Object}[options]放在下面的小部件声明$.widget(“myWidget”,{…})中,是否可以记录其中有空格的属性,例如options['some property']
?我没有尝试过,尝试引用值的几种变体,然后运行jsdoc生成器查看。之后请让我们都知道。既然这个问题一直被问到,我只想在这里澄清一下:这不是我特定问题的答案,因为正如我所说的,jQuery提供了“选项”方法,所以我没有一个以options literal为参数的方法。@fold\u left我们真的需要@description吗?从未见过它被使用。当我看到它时,假设第一行是描述。关于@pcatre,你是对的,我还是倾向于使用它,因为它符合我的偏好,但可以毫无疑问地忽略它。