使用JSDoc记录jQuery参数类型的正确方法是什么?

Jea*_*tin 20 javascript jquery jsdoc

我正在尝试使用JSDoc语法为我自己以及必须查看我的代码的人员记录我的程序.我也在努力提高自己的技能.

对于jQuery类型的参数,我有点困惑.我知道这是一个对象,但它在我的程序中相当普遍,所以我认为我应该首先为jQuery类型声明一个typedef,然后将它用作我的参数类型.所以我问,这是正确的方法吗?

/**
 * DOM object referenced by jQuery
 * @typedef {jQuery} $jQueryDomObject
 */

/**
* SOAP call that does ...
*
* @param {string} code Some desc ...
* @param {callback} fnctVa Some desc ...
* @param {$jQueryDomObject} $attrib Input field that ...
*/
myfunction = function (code, fnctVa, $attrib) {};
Run Code Online (Sandbox Code Playgroud)

我也在SO上找到了这个问题,有点类似:
我怎样才能让JSDoc将我的param标记为jQuery对象?

Lou*_*uis 20

对于作为jQuery对象的参数,我经常这样做:

@param {jQuery} foo
Run Code Online (Sandbox Code Playgroud)

并且不要进一步定义jQuery是什么.众所周知.但是,如果需要,可以使用jsdoc 3执行此操作:

/**
 * jQuery object
 * @external jQuery
 * @see {@link http://api.jquery.com/jQuery/}
 */

/**
 * SOAP call that does ...
 *
 * @param {string} code Some desc ...
 * @param {callback} fnctVa Some desc ...
 * @param {external:jQuery} $attrib Input field that ...
 */
var myfunction = function (code, fnctVa, $attrib) {};
Run Code Online (Sandbox Code Playgroud)


Jea*_*tin 5

我还在github/js3doc上看到:

@param {jQuery object} obj The jQuery object you're looking for.
Run Code Online (Sandbox Code Playgroud)

github/js3doc

@param {module:jquery} jquery Some desc...
Run Code Online (Sandbox Code Playgroud)