相关疑难解决方法(0)

如何使用jsdoc-toolkit记录匿名函数(闭包)

我正在尝试使用JSDoc-toolkit记录我的代码.我的代码首先包含一个自执行的匿名函数.我怎么在世界上记录这个?我几乎整天都在这上面.JS Docs不会识别匿名函数闭包内部的任何内容,因为它不知道如何处理它.它打破了,我的评论都没有通过.

我的代码看起来像这样.

/** 
 * @fileoverview BLA BLA BLA
 */

/**
 * This is where I don't know what to put.
 */
 (function () {
     "use strict";

     /** or here */
     var stlib = function (param, param, param) {
         /** or here */
         var share = {
             /** or here */
             config: {
                 button: DOM Element,
                 property: blablabla
             },

             init: function () { ...some init code here}
         };

         share.init();
     };

     widgets.add("share", stlib);
 }());
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript closures comments anonymous-function jsdoc

33
推荐指数
1
解决办法
9575
查看次数

JSDoc侧栏中的嵌套方法

感谢这里找到的答案:

/sf/answers/1353545651/

我的JavaScript文档组织良好,格式正确.每个命名空间都是其中包含的方法的"父".但是,导航并不像我想的那样精细.

通过简单的命令(jsdoc file1.js file2.js)使用node.js工具编译/渲染后,文档将生成为默认模板.此默认模板在侧栏导航中显示我的命名空间,但它不显示每个包含的方法.

您可以通过向@class每个方法添加指令来伪造方法列表,但正如我们所知,它们实际上不是类.

我很想看到像这样的侧边栏导航:

My Project

 - namespace 1
    - method.a
    - method.b
    - method.c

 -namespace 2
    - method.d
    - method.e
Run Code Online (Sandbox Code Playgroud)

任何我忽略的文档方向都将不胜感激.


[编辑添加:]

通过实验,@class几乎完全符合我的要求,但有一些例外:

  • 它列出了名称空间之上的类.我不喜欢这样,因为名称空间是"父母".

  • JavaScript在这个意义上没有类.不是那种被称为"类"的命名法.在阅读文档以查看"类"列表时,它会创建一个奇怪的断开连接.

  • 它自动添加"新"运算符.并非所有方法都有构造函数......你可以看到问题!


[编辑:示例代码]

所以这是目前的结构.在我使用JSDoc注释对其进行注释之前,这是基本方法:

var app =  app || {};
app.utils = {
    whizbang: function() {},
    geegolly: function() {}
  };
app.render = {
    thestuff: function(params) {},
    thethings: function(params) {}
  }
}
Run Code Online (Sandbox Code Playgroud)

因此,使用对象文字表示法,顶级是整个应用程序的"命名空间",但在其中有用于不同目的的子命名空间.在这里,我有一个特定于实用程序的子命名空间,另一个特定于渲染的子命名空间.每个都可以有属性,但更重要的是它们都包含函数.这些功能应出现在侧边栏中.现在用我目前的JSDoc模式充实它:

/** 
 * @file MyApp.js This is an awesome description of MyApp.js
 * 
 * …
Run Code Online (Sandbox Code Playgroud)

javascript jsdoc jsdoc3

14
推荐指数
1
解决办法
1446
查看次数

如何使用JSDoc3来记录嵌套的命名空间

我在使用JSDoc3来记录按照这些方式构建的代码时遇到了麻烦

/**
 * @namespace MyNamespace.MySubNamespace
 */

(function (MyNamespace) {
    MyNamespace.MySubNamespace.Foo = {
        doSomething: function (someParam) {
            // doing it
        }
    }
})(window.MyNamespace)
Run Code Online (Sandbox Code Playgroud)

我如何使用JSDoc3来记录MyNamespace包含MySubNamespace哪些内容Foo?而且我将如何关联doSomethingFoo和记录它的参数someParam

一个限制我的是,我不能添加到文档中的文件MyNamespaceMySubNamespace声明.

非常感谢!

javascript documentation namespaces jsdoc

8
推荐指数
1
解决办法
4618
查看次数