W książce Douglasa Crockforda "Javascript: The Good Parts" wymienia Specyfikatory obiektów w przekazywanych wartościach do nowego obiektu. Zasadniczo, zamiast przekazywania parametrów do funkcji w określonym porządku, sugeruje on, przekazując obiekt z parametrami zawartymi wewnątrz, tak jak poniżej:Specyfikatory obiektów w JavaScript
var myObject = someFunction({a: 1, b: 2, c: 3});
Co nie jest wyjaśnione, jednak to, jak radzić sobie z tych parametrów po przeszli przez to. Zamiast robić co następuje ustanowienia wartości domyślne:
function someFunction(params){
this.a = params.a || 0;
this.b = params.b || 0;
...
}
Co znajduje się w inny sposób obsłużyć dużą ilość parametrów, nie będąc tak gadatliwy?
EDIT: Patrząc na poniższych odpowiedzi, korzystanie z pętli for-in jest świetnym rozwiązaniem. Jaki jest inny sposób, aby to zrobić podczas ustawiania różnych wartości domyślnych dla każdej właściwości? Czy istnieje sposób na utworzenie obiektu o różnych wartościach domyślnych i porównanie z tym?
Możesz mieć "standardy" - obiekt, w którym porównujesz dane wejściowe z jakimś rodzajem pętli. Sposób, w jaki wtyczki jQuery zwykle to obsługują (to jest używanie jQuery) również może być interesujący: http://docs.jquery.com/Plugins/Authoring#Defaults_and_Options – m90
Pamiętaj, że wykonywanie parametrów jeden po drugim pozwala ci określić wartości domyślne indywidualnie (domyślny obiekt, który sugeruje m90 również to pozwala), lub w inny sposób podjąć specjalne działanie, jeśli pewne parametry nie są dostarczane. – nnnnnn
m90 & nnnnnn: Zaktualizowałem moje pytanie, aby uwzględnić różne wartości domyślne, jeśli zechcesz zilustrować odpowiedź. – opes