我有一个以对象数组作为参数的函数,我想像本例中那样使用JSDOC来描述参数(包括数组中对象的属性):/***@param{Array.}filter-arrayoffilterobjects*@param...*/functiondoSomething(filter){}过滤器是这样的:filter=[{id:'session',value:1},{id:'name',value:'john'}]如何在jsdoc3中记录属性id和value? 最佳答案 像这样:/***@param{Object[]}filter-alistofli
假设我有一个名为“File1.js”的文件。在这个文件中,我导出了一个对象的对象,并且我给每个对象一个typedef,就像这样。/***Mytypedefforeachobject.*@typedef{Object}MyObject1*@property{String}usernameYourusername*@property{String}realnameYourrealname.*@property{boolean}isUniqueAreyouuniqueasaperson?*/module.exports={/***PersonOne!*@type{MyObject1}*/my
WebStorm很好地解析了从CommonJS模块作为方法返回的函数(并读取与它们关联的JsDoc),例如://utils/valid.js/***Returnstruenomatterwhat.*@param{HTMLElement}element*@return{boolean}*/functionisValid(element){returntrue;}module.exports.isValid=isValid;//exportsproperty然后在codecompletion中正确提供了这样的功能和inlinedocumentation在另一个文件中需要这样的模块时的机制。
我正在寻找记录我的代码的最佳方式,但我没有找到任何东西。我看过其他主题,包括this,但都没有解决我的问题。我有这样的东西:define(['backbone'],function(Backbone){/***@modulemodels/products*//***Productmodel*@class*/varProduct=Backbone.Model.extend({/**@lendsProduct.prototype*//***Somemethod*@param{String}name-Nameofsomething*@return{something}*/someMethod
这类似于question30360391.我想表达的是,函数的参数是一个普通的JS对象,它可以具有任意属性(未知)名称,但所有属性本身都是具有固定属性的对象。一个例子:函数就是这样/***@param{Descriptor}desc*/functionfoo(desc){//...}一个典型的desc看起来像desc={unknownEntity1:{priority:5;writable:false;},unknownEntity2:{priority:42;writable:true;},unknownEntity3:{priority:9;writable:false;}}我已经
为了避免在我的JavaScript代码中使用new,我编写了工厂来创建对象。我尝试了很多组合,给我最满意的结果如下:/***Documentmodule*@moduleapp/document*/(function(){'usestrict';/***Factorythatcreatesadocumentobject.*@aliasmodule:app/document.factory*@return{document}*/functiondocument(){/***Getdocumentid*@methodid*@return{String}*/varid=functionid()
我在VisualStudioCode中编写JavaScript(ES6)代码并启用了VSCode的类型检查,如VSCodedocs中所述.当引用在另一个文件中定义的类型时(下例中的Track),我收到类似[js]Cannotfindname'Track'的错误在对该类型的JSDoc引用中,除非我导入它。当我导入这种类型时,我从ESLint收到一个错误:[eslint]'Track'isdefinedbutneverused。(没有未使用的变量)我不想禁用ESLint规则。有没有办法仅导入类型以在VSCode中进行类型检查?importTrackfrom"./Track";exportd
我现在使用notepad++进行JavaScript开发。我想知道是否有人成功地将jsDoc与notepad++集成以方便代码注释。我之前使用过Aptana,我相信它已经作为ScriptDoc集成在其中,但Aptana变得非常慢。 最佳答案 可以使用NppExec插件让jsDoc工作。这些步骤非常简单,阅读本文后应该会更加简单。在NPP(我使用的是5.9.3版)中打开插件管理器安装NppExec插件。(Npp重启,我相信)转到插件下的NppExec菜单,选择“执行”菜单选项。一个微小的脚本窗口打开。输入以下NppExec脚本:NPP
我目前正在向个人javascript模块添加类型注释,但我目前在尝试键入以正则表达式作为参数的函数时卡住了,但以下尝试均无效:/**@type{function(RegExp)}*//**@type{function(regex)}*/我只得到:WARNING-Badtypeannotation.Unknowntyperegexp我应该在声明中使用什么类型?谢谢。 最佳答案 RegExp对象被注释为ClosureCompiler在外部es3.js.这是一个接受RegExp对象的示例函数。/***@param{RegExp}regex
背景我在Nodejs中有一个使用ECMA6类的项目,我正在使用JSDoc评论我的代码,以便其他开发人员更容易访问它。但是,我的评论并没有被该工具很好地接受,我的文档也成了废墟。问题我的问题是我不知道如何使用JSDoc记录ECMA6类,而且我找不到任何合适的信息。我尝试了什么我尝试阅读theofficialexample但我发现它缺乏和不完整。我的类有成员、常量变量等等,我通常不知道哪些标签用于什么。我也在网上进行了广泛的搜索,但我发现的大多数信息都是在2015年之前,当时JSDocs还不支持ECMA6脚本。最近的文章很少,不能满足我的需要。我发现的最接近的是这个GitHubIssue: