javascript jsdoc命名空间类静态方法

时间:2014-09-19 08:51:17

标签: javascript class static namespaces jsdoc

我试图在我要定义的js代码中使用jsDoc:   - 命名空间。  - 一类。   - 静态方法。 请注意,代码完全符合我在运行时的期望,但是我开始使用jsDoc时遇到问题,所以我问自己代码是否正确......

/** @namespace
 * @name myNamespace
 * @description myNamespace description.
 */
if (typeof (myNamespace) == "undefined") myNamespace = { };

/** @class 
 * @name myClass
 * @description myClass description.
 * @memberof myNamespace
 * @inner
 */
myNamespace.myClass = function () { };

/** @method
 * @name myStaticMethod
 * @description myStaticMethod description.
 * @param {String} myParam. Required. myParam description.
 * @return myReturnValue description.
 * @remarks remarks description.
 * @memberof myNamespace.myClass
 * @inner
 */
myNamespace.myClass.myStaticMethod = function (myParam) {
    var myReturnValue = myParam;
    return myReturnValue;
};

当我用jsDoc生成时,我在索引中看到: - 更正myNamespace定义。 - 更正myClass定义。 当我进入myClass时,我看不到myStaticMethod ...... myStaticMethod不在任何地方。 我的JS编码正确吗? 如果编码正确...评论是否正确写入? 怎么了?

非常感谢...

2 个答案:

答案 0 :(得分:3)

如果您要使用@name,您需要告诉JsDoc该成员是什么;使用@name告诉JsDoc 完全忽略上下文。

在您的情况下,我认为您需要添加@static(您已经拥有@memberof,这样做很好)。

答案 1 :(得分:2)

T.J。克劳德是对的,我不能投票,因为我在社区年轻,如果有人需要,这是jsDoc的更正代码注释:

/** @namespace
 * @name myNamespace
 * @description myNamespace description.
 */
if (typeof (myNamespace) == "undefined") myNamespace = { };

/** @class 
 * @name myNamespace.myClass
 * @description myClass description.
 * @memberof myNamespace
 * @inner
 */
myNamespace.myClass = function () { };

/** @function
 * @static
 * @name myNamespace.myClass.myStaticMethod
 * @description myStaticMethod description.
 * @param {String} myParam. Required. myParam description.
 * @return myReturnValue description.
 * @remarks remarks description.
 * @memberof myNamespace.myClass
 * @inner
 */

myNamespace.myClass.myStaticMethod = function (myParam) {
    var myReturnValue = myParam;
    return myReturnValue;
};