将 JSDoc 与匿名对象和此对象的函数一起使用的正确方法

Correct way to use JSDoc with anonymous object and functions of this object

目前在 Dojo (1.10) 和 ESRI 项目中使用 Webstorm API Javascript.

我有一个接受小部件的函数 (Object/Class),但是由于 JSDoc,Webstorm 向我显示了一些警告。

代码:

/**
 * Init toolbar
 *
 * @param {Object} [options] - Toolbar options
 * @param {string} [options.title=Default title] - Main title
 * @param {ToolbarWidget} toolbarObj - Toolbar widget to set
 */
initToolbar: function(options, toolbarObj) {
  ...
  toolbarObj.set('title', _title);
}

第一个警告出现在“toolbarObj”上。我收到消息“未解析的变量或类型”。

这很容易解决。仅包含以下 JSDoc:

/**
 * A dojo widget (toolbar).
 * @typedef {Object} ToolbarWidget
 */

现在,另一个警告是 toolbarObj 的“set”函数。 我收到一条带有以下消息的警告:“未解析的函数或方法 set()”。

已经尝试过@name、@function(可能方法不对)!

我知道这是可选的(只是一个警告),但是,我喜欢以正确的方式记录所有内容。 那么,我如何记录匿名 object/dojo 小部件的 'set' 函数?!

怎么样

/**
 * A dojo widget (toolbar).
 * @typedef  {Object} ToolbarWidget
 * @property {function} set 
 */