我想知道如何使用jsdoc为构造函数定义两个签名:
makeClass("Person",
/** @lends Person */
{
/**
@constructs
@param {int} p1
*/
/**
@constructs
@param {string} p1
*/
constructor: function () {
},
/**
@name Person.prototype.func
@function
@param {object} arg arg desc
*/
/**
@name Person.prototype.func^2
@function
@param {int} arg arg desc
@param {int} arg2 arg2 desc
*/
func: function () {
}
});
这会生成一个带有{string} p1的构造函数。
感谢您的帮助
答案 0 :(得分:4)
JSDoc没有与Visual Studio XML Doc多重签名相当的概念。一种选择是将参数记录为具有多种可能的类型,并标记一些可选的。
/**
* @param {Number|Object} arg Description of arg
* @param {Number} [arg2] Description of arg2
*/
答案 1 :(得分:3)
DocumentJS,JavascriptMVC项目使用/创建的文档工具released a new "@signature" annotation,允许您为同一方法注释多个签名。
我找不到documentation,但根据source(为简洁而编辑),它看起来很直接:
/**
* @signature `observe.attr()`
* @return {Object<String, *>} an object with all the properties in this `can.Observe`.
*
* @signature `observe.attr(key)`
* @param {String} key the property to read
* @return {*} the value assigned to _key_.
*
* @signature `observe.attr(key, value)`
* @param {String} key the property to set
* @param {*} the value to assign to _key_.
* @return {can.Observe} this Observe, for chaining
*/
attr: function( attr, val ) {