2016-07-18 4 views
0

У меня ниже работает отлично:Неожиданный маркер -

var varName= { 
    variable_one: 'short_name', 
    variable_two: 'long_name', 
    variable_three: 'long_name', 
    variable_four: 'short_name', 
    variable_five: 'long_name', 
    variable_six: 'short_name' 
}; 

но если я изменить в:

var varName= { 
    variable-one: 'short_name', 
    variable-two: 'long_name', 
    variable-three: 'long_name', 
    variable-four: 'short_name', 
    variable-five: 'long_name', 
    variable-six: 'short_name' 
}; 

это показывает мне ошибку:

Unexpected token -

тогда вопрос: как избегайте «-», потому что мне нужно имя с «-» вместо «_»

я пытался поставить «»»или«"», но не работает Т_Т

Благодарности

+1

Поместите имена свойств в кавычки. – Pointy

+0

Цитата: '" variable-one ":" value ",' –

+1

@Pointy Что бы это было, если свойства обычно не доступны с этими именами? –

ответ

2

Это должно работать для вас

var varName= { 
    'variable-one': 'short_name', 
    'variable-two': 'long_name', 
    'variable-three': 'long_name', 
    'variable-four': 'short_name', 
    'variable-five': 'long_name', 
    'variable-six': 'short_name' 
}; 

JavaScript берет - как буквальный знак минус.

5

- является subtraction operator, вы не можете использовать его в качестве идентификатора. Вместо этого используйте строку (с кавычками вокруг нее). (Object literal syntax принимает строки или идентификаторы имен свойств).

1

JavaScript пытается интерпретировать - как минус. Вы также должны просто указывать имена в котировках:

var varName= { 
    'variable-one': 'short_name', 
    'variable-two': 'long_name', 
    'variable-three': 'long_name', 
    'variable-four': 'short_name', 
    'variable-five': 'long_name', 
    'variable-six': 'short_name' 
}; 
Смежные вопросы