Edit: Dies ist technisch eine 2-teilige Frage. Ich habe die beste Antwort gewählt, die die Frage im Allgemeinen behandelt und mit der Antwort verknüpft, die die spezifische Frage behandelt.Beste Möglichkeit, anonyme Objekte und Funktionen mit jsdoc zu dokumentieren
Was ist der beste Weg, um anonyme Objekte und Funktionen mit jsdoc zu dokumentieren?
/**
* @class {Page} Page Class specification
*/
var Page = function() {
/**
* Get a page from the server
* @param {PageRequest} pageRequest Info on the page you want to request
* @param {function} callback Function executed when page is retrieved
*/
this.getPage = function(pageRequest, callback) {
};
};
Weder die PageRequest
Objekt oder die callback
existieren im Code. Sie werden zur Laufzeit an getPage()
übergeben. Aber ich möchte gerne definieren können, was das Objekt und die Funktion sind.
Ich kann mit der Erstellung der PageRequest
Objekt weg, das zu dokumentieren:
/**
* @namespace {PageRequest} Object specification
* @property {String} pageId ID of the page you want.
* @property {String} pageName Name of the page you want.
*/
var PageRequest = {
pageId : null,
pageName : null
};
Und das ist in Ordnung (obwohl ich auf bessere Möglichkeiten offen bin, dies zu tun).
Was ist der beste Weg, um die callback
Funktion zu dokumentieren? Ich möchte es in dem Dokument machen weiß, dass zum Beispiel der Callback-Funktion in Form ist:
callback: function({PageResponse} pageResponse, {PageRequestStatus} pageRequestStatus)
Irgendwelche Ideen, wie dies zu tun?
Wirklich ordentlich! Eine gute Möglichkeit, Callbacks zu dokumentieren. – oligofren
Aber ich sehe nicht, wie das für anonyme Objekte funktioniert? Sprechen Sie ein Einstellungsobjekt, das an eine Funktion gesendet wird, um ein Objekt zu erstellen, das im aktuellen Bereich nicht sichtbar ist. – oligofren
Wenn Sie das @ @ name-Tag nicht verwenden möchten, um Ihrem anonymen Objekt einen Namen zu geben, beschreiben Sie das Objekt, an dem es verwendet wird. Dies wäre der Body des @ @ param-Tags für das Beispiel mit Einstellungsobjekten. – Eric