- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
JSDoc 3 的 documentation包括这个例子:
/**
* The complete Triforce, or one or more components of the Triforce.
* @typedef {Object} WishGranter~Triforce
* @property {boolean} hasCourage - Indicates whether the Courage component is present.
* @property {boolean} hasPower - Indicates whether the Power component is present.
* @property {boolean} hasWisdom - Indicates whether the Wisdom component is present.
*/
/**
* A class for granting wishes, powered by the Triforce.
* @class
* @param {...WishGranter~Triforce} triforce - One to three {@link WishGranter~Triforce} objects
* containing all three components of the Triforce.
*/
function WishGranter() {}
我实质上是在创建一个类,该类采用实现接口(interface) MessageQueueConnector
的对象,该接口(interface)应该实现一个方法 connectAndSubscribe
。由于 Javascript 不区分成员函数和成员变量,因此使用属性是有意义的,并且 JSDoc 的文档暗示 @method
是不相关的。然而,方法听起来更正确,所以我想知道这是否是首选,或者我是否只是做错了所有这些(即是否有一种更简单的方法来首先记录这种情况,而无需创建类型)。
最佳答案
@typedef
的功能非常有限。您可以将方法定义为属性,但您将无法像在真实类中那样记录参数。为了绕过这个限制,我所做的就是作弊。我使用 @class
以便我可以按照我想要的方式记录它并发出警告它不是一个真正的类。所以:
/**
* @classdesc Not a real class but an interface. Etc...
*
* @name MessageQueueConnector
* @class
*/
/**
* This method does...
*
* @method
* @name MessageQueueConnector#connectAndSubscribe
* @param {string} whatever Whatever this is.
* @returns {Object} Description of return value.
* @throws {SomeException} blah.
*/
请注意,上面的两个 doclet 不需要任何关联的 JavaScript 代码。你不需要在 JavaScript 中创建一个假的类,你不需要创建一个假的方法等等。这就是你需要使用 @name
的原因。
我不喜欢告诉 jsdoc 这是一个类,然后将它不是的放入文档中,但我发现这是让 jsdoc 做我想做的事情的最不令人反感的方式。我希望随着 jsdoc 的发展,这种解决方法最终会过时。
关于javascript - 使用@method 或@property 的JSDoc 对象方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095975/
短版: 如果我想从头开始开发一个全新的 jsDoc 模板,我需要阅读哪些内容才能了解 jsDoc 的功能、我的模板必须提供什么接口(interface)以及我可以使用哪些数据? 加长版: 我已经使用
给定一个将回调函数作为参数的 Javascript 函数: var myFunction = function(onSuccess, onFailure) {...} 我如何记录 onSuccess的
我一直看到以下格式的 JSDoc(和之前的 JavaDoc): /** * This is some JSDoc ... * ... and some more */ function
假设我有一个接受一个参数的函数: /** * @summary Some function. * * @since 1.0.0 * * etc. */ function func( a )
所有官方 JSDoc 示例都有简单的文档字符串,如下所示: /** * @param {string} author - The author of the book. */ 问题是,在现实生活中
jsDoc 似乎支持大部分 MD 语法,但是当涉及到突出显示单个保留字或文本时,我找不到可用的标签。 在 MD 语法中,我可以使用 `word`,它会设置灰色背景和不同的字体,这样您就可以清楚地看到它
我正在提供带有 JSDoc 注释的代码示例,其中也包含 JSDoc 注释,如何在不破坏外部注释的情况下转义嵌套的 JSDoc 注释? 我使用的是版本 3.3.0-beta3 例子: /** *
我正在使用 documentation package ,但无法弄清楚如何将它记录为类属性(不是通过 getter 和 setter 定义的)。 下面只为 SomeClass 生成类文档,但省略了 s
请向我解释描述此模块的最佳方式: /** * Common util methods * @module Utils */ var Utils = (/** @lends module:Util
我一直很难让 @borrows 标记在 JSDoc 中工作。我一直在尝试从一个函数中获取文档,并将其作为第二个函数的文档。但我似乎连一个简单的例子都做不到! /** * This is the de
我想设置一个 Grunt 任务来运行 JSDoc。我正在使用 grunt-jsdoc JSDoc npm 页面推荐的。它工作正常,但我不能使用我创建的 jsdoc.json 文件。 { "tags
我仍在学习 js 并试用 Webstorm IDE,它看起来不错(包括跳转到 var/函数声明)。 我可以看到如何让 jsdoc 评论出现的模板,但我没有这方面的经验,正在寻找一个例子来说明如何在评论
我仍在学习 js 并试用 Webstorm IDE,它看起来不错(包括跳转到 var/函数声明)。 我可以看到如何让 jsdoc 评论出现的模板,但我没有这方面的经验,正在寻找一个例子来说明如何在评论
我有两种类型的模块: Require.js 主文件: require.config({ baseUrl: "/another/path", paths: {
是否有任何自然方式或特殊标签将参数类型作为链接? /** * My js app * @module app */ /** * Namespace for MYAPP classes and func
我有一个包含大量选项的函数: /** * Show dialog in a blocking manner. * * @param {object} opts * @param {string
我只需要在包含 .js 文件的 ai 整个目录上运行 jsdoc,我通过发出命令 jsdoc abc.js 对 ubuntu 终端中的单个文件执行此操作,但我需要的是一次将此命令应用于目录中的所有文件
假设我有两个功能,其中一个扩展了另一个。 /** * @abstract * @param {Object} settings * @param {Number} settings.x * @para
/** * @param {String} foo * @param {Number} bar */ 或者 /** * @param {string} foo * @param {numbe
导致JsDoc忽略源链接的最简单方法是什么?我必须定义自己的模板吗? 最佳答案 如果使用默认模板,则使用templates.default.outputSourceFiles设置为false的配置文件
我是一名优秀的程序员,十分优秀!