JSDoc 和工厂
JSDoc and factory
我有这样的东西:
var make_point = function (x, y) {
return {
x: x,
y: y,
length: function () {
return Math.sqrt(this.x * this.x + this.y * this.y);
}
}
}
使用 jsdoc 为此创建文档的最佳方法是什么?
您应该使用 typedef,然后将其用作函数的 return 类型:
/**
* @typedef Point
* @property {Number} x
* @property {Number} y
* @property {Function} length
* @property {Point~getProjection} getProjection
*/
/**
* @callback Point~getProjection
* @param {Object} axes
* @returns {Object}
*/
/**
* @param {Number}
* @param {Number}
* @returns {Point}
*/
var make_point = function (x, y) {
// ...
}
或者您可以使用对象类型:
/**
* @param {Number}
* @param {Number}
* @returns {{x: Number, y: Number, length: Function}}
*/
var make_point = function (x, y) {
// ...
}
我有这样的东西:
var make_point = function (x, y) {
return {
x: x,
y: y,
length: function () {
return Math.sqrt(this.x * this.x + this.y * this.y);
}
}
}
使用 jsdoc 为此创建文档的最佳方法是什么?
您应该使用 typedef,然后将其用作函数的 return 类型:
/**
* @typedef Point
* @property {Number} x
* @property {Number} y
* @property {Function} length
* @property {Point~getProjection} getProjection
*/
/**
* @callback Point~getProjection
* @param {Object} axes
* @returns {Object}
*/
/**
* @param {Number}
* @param {Number}
* @returns {Point}
*/
var make_point = function (x, y) {
// ...
}
或者您可以使用对象类型:
/**
* @param {Number}
* @param {Number}
* @returns {{x: Number, y: Number, length: Function}}
*/
var make_point = function (x, y) {
// ...
}