Chỉnh sửa: Đây là câu hỏi về mặt kỹ thuật gồm 2 phần. Tôi đã chọn câu trả lời hay nhất bao gồm câu hỏi nói chung và được liên kết với câu trả lời xử lý câu hỏi cụ thể.Cách tốt nhất để ghi lại các đối tượng và chức năng ẩn danh bằng jsdoc
Cách tốt nhất để ghi lại các đối tượng và chức năng ẩn danh bằng jsdoc là gì?
/**
* @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) {
};
};
Cả đối tượng PageRequest
hoặc callback
tồn tại trong mã. Chúng sẽ được cung cấp tới getPage()
khi chạy. Nhưng tôi muốn có thể xác định đối tượng và chức năng là gì.
tôi có thể nhận được ngay với việc tạo ra các đối tượng PageRequest
để ghi nhận rằng:
/**
* @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
};
Và đó là tốt (mặc dù tôi là mở cửa cho những cách tốt hơn để làm điều này).
Cách tốt nhất để ghi lại chức năng callback
là gì? Tôi muốn làm cho nó biết trong tài liệu đó, ví dụ, chức năng gọi lại là ở dạng:
callback: function({PageResponse} pageResponse, {PageRequestStatus} pageRequestStatus)
Bất kỳ ý tưởng làm thế nào để làm điều này?
Thực sự gọn gàng! Một cách tuyệt vời để ghi lại các cuộc gọi lại. – oligofren
Nhưng tôi không thấy cách làm việc này cho các đối tượng ẩn danh? Nói một đối tượng cài đặt được gửi vào một số hàm để tạo một đối tượng không hiển thị trong phạm vi hiện tại. – oligofren
Nếu bạn không muốn sử dụng thẻ '@ name' để đặt tên cho đối tượng ẩn danh của mình, hãy mô tả đối tượng được sử dụng, đó sẽ là phần tử của thẻ' @ param' cho ví dụ đối tượng cài đặt của bạn. – Eric