在JSDoc可以记录数组内容的确切类型likethis:/**@param{Array.}myClassesAnarrayofMyClassobjects.*/TestClass.protoype.someMethod=function(myClasses){myClasses[0].aMethodOnMyClass();}这使得像WebStorm这样的IDE中的代码完成实际上在[0].之后提供了正确的类型信息。这适用于数组类型,但我有自己的集合类型,我也想在其中使用此功能。问题是我找不到正确的语法(可能是因为还没有)。我希望能够像这样以某种方式声明我的类(class):/***@ty
JSDoc有什么文件吗?两个IntelliJ支持的子集、超集或混合?我使用JSDoc的动机有两个:对于开发人员:IntelliJ可以提供更好的代码完成、代码检查、错误检查等。为了提高运行效率:使用Closurecompiler.对于上面的第1点,使用IntelliJ支持的JSDoc标记对我来说很重要,直到现在解决这个问题主要是一个反复试验的过程。 最佳答案 基于WebStormdocumentation中可用的少量信息,看起来IntelliJIDEA支持整个JSDoc集。文档中唯一的其他说明在viewinginlinedocumen
我一直在尝试使用JSDoc记录以下代码:/***@moduleperson*//***Ahumanbeing.*@class*@param{string}name*/functionPerson(name){this.name=name}Person.prototype=newfunction(){varamount_of_limbs=4;/***Introduceyourself*/this.greet=function(){alert("Hello,mynameis"+this.name+"andIhave"+amount_of_limbs+"limbs");}}但是在生成的JSD
我知道周围有各种风格的JSDoc。而且似乎每个JSDoc解析器的实现都可以识别它自己的一组标记。例如,考虑http://usejsdoc.org/之间的标签差异。和http://www.techrepublic.com/blog/programming-and-development/create-useful-relevant-javascript-documentation-with-jsdoc/451.在这一点上,我只是感到困惑。是否有JSDoc的规范实现或一组广泛认可的核心标签?是否有JSDoc的最佳实现?编辑正如下面的评论中所问,这个问题的原因是我需要解析JSDoc评论以便与
有人用JSDoc记录过BackboneJS代码吗?我在注释Backbone构造时遇到问题,例如:User=Backbone.Model.extend({defaults:{a:1},initialize:function(){//...},doSomething:function(p){//...}});任何建议表示赞赏。谢谢。 最佳答案 如果您谈论的是JSDoc工具包,我认为它以某种方式工作:User=Backbone.Model.extend(/**@lendsUser.prototype*/{/***@classUsercla
有没有人在记录/构建angularjs项目方面有任何经验,以便JSDoc能够以HTML格式生成很好的注释(针对您的指令、Controller、过滤器等)?目前,它会生成一个带有_global类的文件,该类指向我的应用程序的命名空间和几个函数,就是这样......或者也许有更好的方法在angularjs中生成html版本的文档block?PS:我使用标准的jsdoc语法来记录我的代码(@param、@return等)更新:我的具体问题是:是否有任何方法可以为angularjs文档block生成html文档以涵盖所有Controller/指令/过滤器等?当运行JSDoc命令行实用程序时,它
我正在尝试改进我的javascript代码的文档,并遵循JSDoc指南https://jsdoc.app/.我找不到如何记录故意的副作用。例如下面的方法:/***@description*Paintstheobjectred.*@return*/Painter.paintItRed=function(someObj){someObj.color="red";};您如何记录该方法直接作用于传递的对象这一事实?一个不同的例子:/***@description*IftheuserhasnotsetUpaconfig,showconfigModal.*@return*/User.checkCo
我目前正在重构我们拥有的一些Javascript代码,除此之外,我还对其进行了更改以利用显示模块模式。代码看起来更整洁并且工作正常但我在大纲View中看不到函数了。我将顶级命名空间var视为一个var,但您无法展开它以查看其中的函数。假设以前的代码是这样的:functionmyFunc1(){}functionmyFunc2(){}在这种情况下,您会在大纲View中看到这两个函数。但是如果你把它改成这样:varmyNamespace=function(){functionmyFunc1(){}functionmyFunc2(){}return{name:"myNamespace",my
我可以声明变量类型吗一使用JSDOC@type注解?/**@typesome.type*/for(letoneofmany){...}诸如PHPDOC注释之类的东西:/**@var\Some\Type$one*/foreach($manyas$one){}看答案是的你可以。您只需要将类型声明移动到括号内的内部,然后才能在您的变量之前:for(/**@type{SomeType}*/constoneofmany){//...}这很好,尽管我通常更喜欢指定类型many反而。例如:/**@type{Number[]}*/constmany=[1,2,3,4];然后是one将自动推断。P.S。:注意我
我正在使用配置为:{"compilerOptions":{"checkJs":true}}而且我找不到这样的方法,例如这里:上面的示例应在关闭编译器(未验证)中起作用,在这里记录。但是我找不到JavaScript语言服务的等效语法。我还尝试了以下更简单的语句,该语句也不起作用:letcastedWindow=(/**@type{any}*/(window));//castedWindow:Window(Iwant`any`)我正在问如何做演员表,如果有人碰巧知道语法的记录(或者,如果没有记录在哪里,就是如何工作)。我问的是什么吗?谢谢你的时间!看答案作为打字稿2.5,支持在checkjs/@t