2

我从这里复制了一个例子。下面是示例代码,但问题是 Store.TAX_RATE 在文档中显示为 Item 的属性,而不是模块 Store 的属性。任何建议为什么?

示例代码:

/**
  * This module contains classes for running a store.
  * @module Store
  */
var Store = Store || {};

/**
  * `TAX_RATE` is stored as a percentage. Value is 13.
  * @property TAX_RATE
  * @static
  * @final
  * @type Number
  */
Store.TAX_RATE = 13;


/**
 * @class Item
 * @constructor
 * @param name {String} Item name
 * @param price {Number} Item price
 * @param quantity {Number} Item quantity (the number available to buy)
 */
Store.Item = function (name, price, quantity) {
  /**
    * @property name
    * @type String
    */
  this.name = name;
  /**
    * @property price
    * @type String
    */
  this.price = price * 100;
  /**
    * @property quantity
    * @type Number
    */
  this.quantity = quantity;
  /**
    * @property id
    * @type Number
  */
  this.id = Store.Item._id++;
  Store.Item.list[this.id] = this;
 };
4

1 回答 1

2

那是因为根据 YUIDoc 术语,模块只是相关类的集合,因此它不能包含类以外的任何内容。

您可以做的是将 Store 和 Store.Item 都记录为类:

/**
 * This module contains classes for running a store.
 * @class Store
 */
var Store = Store || {};

/**
 * `TAX_RATE` is stored as a percentage. Value is 13.
 * @property TAX_RATE
 * @type Number
 */
Store.TAX_RATE = 13;

/**
 * @class Store.Item
 */
Store.Item = function (name, price, quantity) {
};
于 2013-03-03T19:13:35.720 回答