Разрешены ли тире в именах свойств javascript?

Я смотрел http://docs.jquery.com/Plugins/Authoring#Defaults_and_Options , чтобы создать простой плагин для jQuery. Следуя разделу о параметрах и настройках, я сделал следующее, что не сработало (скрипт завершил работу, когда обнаружил настройку).

var settings = {
    'location' : 'top',
    'background-color': 'blue'
}
...
$this.css('backgroundColor', settings.background-color); // fails here

После того, как я удалил черточку из цвета фона, все заработало.

var settings = {
    'location' : 'top',
    'backgroundColor': 'blue' // dash removed here
}
...
$this.css('backgroundColor', settings.backgroundColor); 

Я что-то упускаю, 'System.InvalidOperationException' произошло в System.Windows.Forms.dll

Дополнительная информация: Межпоточный операция недействительна: Control 'levelsComboBox', доступ к которому осуществляется из нить кроме той нити создано на.

Я использовал .Invoke раньше, но только для установки свойств, как я могу использовать его для чтения combobox.Text? Поскольку .Invoke возвращает void, и мне нужна строка. Или есть другой способ сделать это без Invoke?

28
задан dsolimano 2 June 2012 в 04:24
поделиться