Изменить: Это технически вопрос из 2 частей. Я выбрал лучший ответ, который охватывает вопрос в целом и связан с ответом, который обрабатывает конкретный вопрос.
Каков наилучший способ документировать анонимные объекты и функции с помощью jsdoc?
/**
 * @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) {
    }; 
};
В коде отсутствует объект PageRequest или callback. Они будут предоставлены getPage() во время выполнения. Но я хотел бы иметь возможность определить, что такое объект и функция.
Я могу уйти с созданием объекта PageRequest для документирования того, что:
/**
 * @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
};
И это прекрасно (хотя я открыт для лучших способов сделать это).
Каков наилучший способ документировать функцию callback? Я хочу сообщить в документе, что, например, функция обратного вызова имеет вид:
callback: function({PageResponse} pageResponse, {PageRequestStatus} pageRequestStatus)
Любые идеи, как это сделать?