用于记录作为对象的函数参数的字段的语法

时间:2014-12-20 17:12:28

标签: javascript jsdoc jsdoc3

我想知道什么是记录参数的正确方法(这是一个对象) 及其所有属性。

  1. 如果我理解正确,方括号意味着"可选",是吗?
  2. 我用来描述对象属性的语法是否有效?
  3. reqSettings.retryInterval属性是一个数字,但我无法找到包含其单位的方法。有没有办法表明这个数字是以毫秒为单位?
  4. 代码:

      /** 
       * used as a facade for the 'callServer' function.
       * @param {object} reqSettings           - a settings object to provide 'callServer'.
       * @param {object} reqSettings.ajaxOpt   - an object containing standard jquery ajax settings.
       * @param {function} reqSettings.success - a success handler for 'fulfilled' promises.
       * @param {function} reqSettings.failure="failResponse" - a failure handler for 'rejected' promises.
       * @param {number} [reqSettings.retries=0] - maximum retries allowed per cycle  
       * @param {number} [reqSettings.retryInterval=1500] - interval to use between retries (ms)  
       * @param {number} [reqSettings.attempted=1] - a counter used to count total attempts  
       */
      function gateKeeper(reqSettings) {
        if ( !reqSettings.retries )       { reqSettings.retries = 0 }
        if ( !reqSettings.retryInterval ) { reqSettings.retryInterval = 1500 }  
        if ( !reqSettings.attempted )     { reqSettings.attempted = 1 }
    
        reqSettings.retries--
    
        if ( !reqSettings.success || !reqSettings.ajaxOpt.url ) {
          throw new TypeError("success handler or ajax url property is missing")
        }
    
        return callServer(reqSettings)
      }
    

1 个答案:

答案 0 :(得分:0)

  

如果我理解正确,方括号表示"可选",是吗?

你理解正确。

  

我用来描述对象属性的语法是否有效?

jsdoc理解你的语法,所以我称之为#34;有效"。

  

reqSettings.retryInterval属性是一个数字,但我无法找到包含其单位的方法。有没有办法表明这个数字是以毫秒为单位?

jsdoc没有特殊的方式来记录这一点。你需要在你的文档中注意它,就像你做的那样:"在重试之间使用的间隔(ms)"