2012-09-30 15 views
11

Powiel możliwe:
Self-references in object literal declarationsDostęp JavaScript Object literalnie w tym samym obiekcie

Czy istnieje sposób dostępu wartość nazwy własności w tym samym obiekcie dosłownym? Coś takiego:

myFunction.init({ 
    varOne: 'something', 
    varTwo: this.varOne + 'something else' 
}) 
+0

Oczywiście, że możesz. Z pobierającymi i ustawiającymi lub tworząc funkcję, która następnie ustala zakres obiektu. Nie wiem, dlaczego wybrano inną odpowiedź. –

Odpowiedz

14

Nie, nie ma sposobu, aby uzyskać dostęp do literału obiektu, który jest obecnie definiowany z samej definicji.

Jeśli chcesz ustawić właściwości na podstawie wartości innych właściwości, musisz albo oprzeć je na pewnej wartości zewnętrznej (która nie jest samą właściwością), albo uruchomić funkcję inicjalizacyjną po zdefiniowaniu literału obiektu, może ustawić niektóre właściwości na podstawie wartości innych właściwości.

+0

OK, dziękuję bardzo za szybką odpowiedź! Będę musiał utworzyć zewnętrzną zmienną i uzyskać dostęp do obiektu. –

+0

Więcej przykładów można znaleźć na stronie: http://stackoverflow.com/questions/4616202/self-references-in-object-literal-declarations?lq=1 – Yosi

Powiązane problemy