liên quan: Correct way to document open-ended argument functions in JSDocLàm cách nào để ghi lại danh sách đối số có độ dài thay đổi với các loại tham số đã biết?
Tôi đã một chức năng mà chấp nhận nhiều mảng bằng cách truy cập arguments
biến:
/**
* @param options An object containing options
* @param [options.bind] blablabla (optional)
*/
function modify_function (options) {
for (var i=1; i<arguments.length; i++) {
// ...
}
}
Bây giờ, tôi biết rằng mỗi đối số bên cạnh options
là một mảng chứa giá trị mà có giá trị chủ tài liệu:
[search_term, replacement, options]
Tôi không cân nhắc đưa mô tả (dài) vào dòng thông số biến.
@param {...} Một mảng có cụm từ tìm kiếm, thay thế và tùy chọn của nó; chỉ mục 0: cụm từ tìm kiếm trong hàm; 1: văn bản thay thế; 2: tùy chọn tùy chọn (catch_errors: bắt lỗi và đăng nhập, thoát: thoát đô la trong văn bản thay thế, đặt: "L" để đặt thay thế trước cụm từ tìm kiếm "R" để đặt sau) Không phải giải pháp có thể đọc được loại không hiển thị.
Có cách nào để ghi lại các loại và giá trị của thông số biến không?
@param {...[]} An array with search terms, replacements and its options
@param {...[0]} The search term within the function
@param {...[1]} The replacement text
@param {...[2]} An optional object with obtions for the replacement
@param {...[2].catch_errors} catches errors and log it
@param {...[2].escape} etc...
Trên đây trông xấu xí, nhưng nó sẽ cho bạn một ý tưởng về những gì tôi đang cố gắng để đạt được:
- tài liệu loại một tham số biến (trong trường hợp này một mảng)
- tài liệu các giá trị của mảng này
- tài liệu các thuộc tính của một đối tượng trong mảng này
Đối với sự lười biếng, tôi đã sử dụng d một mảng thay vì một đối tượng. Các đề xuất khác luôn được chào đón.
Tôi nghĩ rằng chỉ mục * 0, 1, ... k * không phải là một cách tốt. Thay vào đó, hãy sử dụng chuỗi ký tự hoặc chữ cái. – sergzach
@sergzach: một mảng được lập chỉ mục theo số, không phải chữ cái. Tôi nghĩ câu trả lời là tôi nên lười biếng hơn. – Lekensteyn