Trong cuốn sách của Douglas Crockford "Javascript: The Good Parts", ông đề cập đến Object Specifiers trong việc truyền các giá trị cho một đối tượng mới. Về cơ bản, thay vì đi qua các tham số để một hàm theo một trật tự nhất định, ông đề nghị đi qua một đối tượng với các thông số chứa bên trong, như vậy:Object Specifiers trong Javascript
var myObject = someFunction({a: 1, b: 2, c: 3});
gì không được giải thích, tuy nhiên, là làm thế nào để xử lý những thông số sau chúng đã được thông qua. Thay vì làm như sau để thiết lập các giá trị mặc định:
function someFunction(params){
this.a = params.a || 0;
this.b = params.b || 0;
...
}
Một cách khác để xử lý một lượng lớn thông số mà không bị tiết lộ là gì?
EDIT: Nhìn vào các câu trả lời dưới đây, việc sử dụng các phi trong vòng lặp là một lựa chọn tuyệt vời. Một cách khác để thực hiện điều đó trong khi đặt các giá trị mặc định khác nhau cho mỗi thuộc tính là gì? Có cách nào để tạo một đối tượng với các giá trị mặc định khác nhau và so sánh với giá trị đó không?
Bạn có thể có một tiêu chuẩn "-object mà bạn so sánh đầu vào trong một số loại vòng lặp. Cách jQuery-plugin thường xử lý việc này (điều này đang sử dụng jQuery) cũng có thể thú vị: http://docs.jquery.com/Plugins/Authoring#Defaults_and_Options – m90
Lưu ý rằng việc thực hiện từng tham số cho phép bạn chỉ định các giá trị mặc định riêng lẻ (đối tượng mặc định mà m90 đề xuất cũng cho phép điều này), hoặc nếu không có hành động đặc biệt nếu các tham số nhất định không được cung cấp. – nnnnnn
m90 & nnnnnn: Tôi đã cập nhật câu hỏi của mình để tính các giá trị mặc định khác nhau nếu bạn quan tâm để minh họa câu trả lời. – opes