2011-07-18 13 views
5

Dzwonię funkcję tak:javascript „nieprawidłowy obiekt inicjator”

myfunc($tab, {'top-left', 'bottom-left'}, defaults.tabRounded); 

Definicja funkcji jest następująca:

function myfunc(obj, properties, value) { 

jednak pojawia się błąd „Nieprawidłowy obiekt inicjujący” . Czy to z powodu argumentu json? Albo coś innego?

+1

Co według was JSON jest dokładnie? W fragmencie kodu nie ma kodu JSON. –

Odpowiedz

6

Wymień

myfunc($tab, {'top-left', 'bottom-left'}, defaults.tabRounded); 

Z

myfunc($tab, ['top-left', 'bottom-left'], defaults.tabRounded); 

{'top-left', 'bottom-left'} nie jest obiektem, ale {'top-left': 0, 'bottom-left': 10} jest obiektem. Sądziłem, że mógłbyś potrzebować tablicy zamiast obiektu.

obiekty
0

Prawdopodobnie chcesz przekazać tablicę, nie sprzeciwiają się funkcji:

myfunc($tab, ['top-left', 'bottom-left'], defaults.tabRounded); 

W przeciwnym razie, jeśli chcesz przekazać obiekt należy określić wartości dla kluczy. Coś jak:

myfunc($tab, {'top-left': 100, 'bottom-left': 100}, defaults.tabRounded); 
0

Trzeba wymienić właściwości jak {X: 'foo', y: 'Bar'}, ponieważ są one zawsze par klucz-wartość.