[英]How do you document JSDoc with mixed parameter type?
当参数类型可以混合时,如何使用JSDoc在JavaScript中记录方法?
我在Dialog对象上有方法,可以在其中显示HTML或自己的Viewable对象。 JSDoc方法如下所示:
/**
* Can pass in viewable object, or some HTML element
*
* @param viewable viewable {Viewable} or HTML element {HTMLElement} or String {string}
* @param {Boolean} cancelable is cancellable
* @param title string or data object of String and Id {Title:String, Id:String} for setting HTML id value
* @param {Array} actions array of functions actions display buttons on the bottom connecting to the passed in functions
* @param {String} size mode. Can be mini,small,medium,large,maxi. Or of type {width:number, height:number}
* @param {Number} zindex starting z-order. Note: first level dialog = 10,11,12, second level dialog 13,14,15 etc.
*/
Dialog.showElement = function(viewable, cancelable, title, actions, mode, zindex){
..
}
因为JS不允许方法重载,所以我需要创建这些类型的方法,其中方法中的参数可以是两种不同的类型。 有没有一种方法可以在JSDoc中对此进行记录,或者JSDoc只能让您用一种类型记录一个参数?
另外,您将如何记录{Title:String, Id:String}
类型的参数? 也就是说,传入的对象不是类型。 准,一个JSON对象。
您可以使用|
分隔符,用于在方法类型签名中指定多种类型:
/**
* Some method
* @param {Object|string|number} param The parameter.
* @returns {Object|string|number} The modified param.
*/
function doSomething(param) {
return etc..
};
Google Closure编译器文档建议使用以下格式-看起来很正式,因为它与usejsdoc.org上的相同 :
/**
* Some method
* @param {(Object|string|number)} param The parameter.
* @returns {(Object|undefined)} The modified param.
*/
function doSomething(param) {
return etc..
};
引用以上链接的闭包编译器文档:
注意括号,这是必需的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.