2015-08-05 2 views
0

У меня есть что-то вроде этого:JSDoc и завод

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?

+0

Вы просите инструмент, чтобы сделать это автоматически или как его написать? – hirse

+0

Я хочу написать –

ответ

1

Вы должны использовать ЬурейеЕ, а затем использовать его в качестве возвращаемого типа функции:

/** 
* @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) { 
    // ... 
} 
+0

Но тогда я не могу описать параметры метода. Например: 'return {getProjection: function (axes) {}}' –

+0

Вы можете использовать обратный вызов, это то же самое, что и typedef, но для функций. Я отредактировал ответ. – Razem

+0

большое спасибо –

Смежные вопросы