草庐IT

javascript - `function(*=)` 在 JSDoc 风格的代码注释中意味着什么?

我正在使用JSDoc风格编写一些代码注释,想知道*=在@returns{function(*=):*}中意味着什么,它由WebStorm生成。我尝试搜索JSDocwiki和usejsdoc.org但没有结果。下面是我的代码:/***Getrecorddatalistenergenerator.*@param{Function}createProps*@returns{function(*=):*}//**generatedbywebstorm***/exportfunctiongetRecordCustomDataListener(createProps){return(callbac

javascript - jsdoc二维数组

我有一个字符串数组,但我不知道如何用JSDoc记录它。/**@class*/functionPostbackList(){/**@type{int}@default*/this.TypeID=0;/**@type{PostbackList.Field[]}*/this.Fields=newArray();/**!!Issuehere!!@type{string[][]}*/this.Values=null;}这会导致错误。Invalidtypeexpression"string[][]":Expected"!","?"or"|"but"["found.而且我不知道是否应该将?放在类型前

javascript - 局部变量的正确 JSDoc 语法是什么?

对于这样的函数...functionexample(){varX=100;...varY='abc';...returnZ;}我需要解释一些局部变量的用途。添加这样的描述...functionexample(){/***@description-NeedtoexplainthepurposeofXhere.*/varX=100;.../***@description-NeedtoexplainthepurposeofYhere.*/varY='abc';...returnZ;}...似乎没有被JSDocv3.4.0接受。正确的语法是什么?附言我的一些用例需要多行注释。

javascript - JSDoc 侧边栏中的嵌套方法

感谢在这里找到的答案:https://stackoverflow.com/a/19336366/592495我的JavaScript文档组织良好且格式正确。每个namespace都是其中包含的方法的“父级”。但是,导航并不像我希望的那样精细。在通过一个简单的命令(jsdocfile1.jsfile2.js)使用node.js工具编译/渲染后,文档将生成到默认模板中。此默认模板在侧边栏导航中显示我的命名空间,但它不显示每个包含的方法。您可以通过向每个方法添加@class指令来伪造一个方法列表,但正如我们所知,它们并不是真正的类。我希望看到这样的侧边栏导航:MyProject-namesp

javascript - JSDoc @param 和 @deprecated

我有一个JavaScript函数获取一些参数,包括对象类型。但是,参数的一个属性(对象)将被弃用。我想在文档中指出这种情况,但是我不知道如何将@pa​​ram标记与@deprecated一起使用。考虑以下示例:/***Thisfunctiondoessomething.**@namemyFunction*@function*@since3.0*@param{function}[onSuccess]successcallback*@param{function}[onFailure]failurecallback*@param{object}[options]optionsforfunc

javascript - 如何在 JSDoc 中将对象数组记录为参数?

我有一个如下所示的数组:[{"name":"c917379","email":"jim@bmw.de"},{"name":"c917389","email":"jane@bmw.de"}]它是一个具有多个重复字段的任意长度的数组(为了清楚起见,我将其减少为两个字段)。这将传递到JavaScript方法中。/***@param{?}data*/update:function(data){...}我想知道您将如何在JSDoc中对此进行记录。IE。您将如何记录问号所在的类型? 最佳答案 在JSDoc给出了一个包含类型MyClass成员的数

javascript - 为什么 Closure Compiler 无法识别自执行匿名函数中的类型声明?

当我通过ClosureCompiler运行一个相当大的库时,我收到了很多“Unknowntype”警告,当我的类型在自执行匿名函数中声明时,它们似乎会发生。这并没有什么奇怪的,但是如果我去掉自执行函数,类型声明似乎可以工作(至少在这个简单的测试中是这样)。我不确定我的代码注释是否有问题,或者代码中是否有任何非法内容,但我认为这完全符合标准,并且是模块化API的标准方法。下面的测试代码创建了一个命名空间(只是一个普通的旧JS对象)并附加了一个枚举(一个对象字面量)和一个函数。varmynamespace={};(function(mynamespace){/***Someenum.*@e

javascript - 如何在 Visual Studio Intellisense 中记录 JavaScript 配置对象

我一直在使用VisualStudio的JavaScriptIntellisensefunctionality一段时间以来,我对它为标准API提供建议的效果非常满意,但我发现我无法让VisualStudio理解配置对象(即具有多个可选或必需属性的单个对象作为函数的参数).officialJSDocsyntax建议如果期望参数具有属性,则为每个参数创建一个单独的@param行并使用点表示法:/***@param{Object}config*@param{String}config.name*@param{Number}config.gold*/functiondo_it(config){.

javascript - 有什么方法可以避免使用 JSDoc "@method"注释

我个人不是生成文档的忠实拥护者(我更像是一个“阅读源代码Luke”的人),但我可以看到此类文档对其他人有何用处。现在,通常他们生成的文档不会影响我,除了一件事:@method。大多数JSDoc注释(例如@param)对于阅读源代码的人来说仍然非常有用,但是@method是100%冗余的:/**@paramnumnumbertoaddfiveto*@methodaddFive*/functionaddFive(num){...所以,我真的很想避免让数百行@method弄乱我们的代码。但是,我的同事认为@method是JSDoc生成器(他使用的是YUI生成器)能够生成类的方法列表所必需的。

javascript - 如何在 JavaScript 中记录返回值

我正在为浏览器应用程序的工作项目编写自己的库,但我在决定如何注释代码时遇到了同样的老问题。我正在尝试关注JsDoc语法,但可能会继续GoogleClosureCompiler方法。我可能最终会在文档中使用两个@return和@returns标签,只是为了可移植性(当我设置文档的自动生成时)。现在,问题是,如何记录从函数返回的自定义匿名对象?例如:return{username:'username',password:'password',enabled:true};JsDoc有一个示例,说明如何记录@param以期望具有某些字段的对象,而不是@returns标记。同样,记录类型的Goo