Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.01.2018, 20:22
Новичок на форуме
Отправить личное сообщение для lampa17 Посмотреть профиль Найти все сообщения от lampa17
 
Регистрация: 22.01.2018
Сообщений: 7

Подскажите по свойствам объекта.
Здравствуйте. Подскажите, как обратится к свойству объекта если имя свойства у меня типа String
Код:
var to_db = {
db_name:"DBName",
db_login:"DBLogin"
}
Есть переменная типа String - key="db_name".
to_db.db_name - работает
to_db.key - понятно что нет, не могу понять как по ключу вытянуть значение из объекта?
Ответить с цитированием
  #2 (permalink)  
Старый 28.01.2018, 20:25
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,514

to_db[key]
Прочитайте хотябы базовый учебник на этом сайте, там не так много.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 28.01.2018, 20:56
Новичок на форуме
Отправить личное сообщение для lampa17 Посмотреть профиль Найти все сообщения от lampa17
 
Регистрация: 22.01.2018
Сообщений: 7

Спасибо, учебник я читал, просто давно. Немного торможу, давно не писал на js.
Ответить с цитированием
  #4 (permalink)  
Старый 28.01.2018, 20:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

lampa17,
доступ-через-квадратные-скобки
Ответить с цитированием
  #5 (permalink)  
Старый 28.01.2018, 22:40
Новичок на форуме
Отправить личное сообщение для lampa17 Посмотреть профиль Найти все сообщения от lampa17
 
Регистрация: 22.01.2018
Сообщений: 7

Ок. Спасибо, ну если уж задал вопрос, можно это как-нибудь через eval сделать без квадратных скобок?
Ответить с цитированием
  #6 (permalink)  
Старый 28.01.2018, 23:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

lampa17,
var to_db = {
db_name:"DBName",
db_login:"DBLogin"
}, key="db_name";
alert(eval("to_db."+key));
Ответить с цитированием
  #7 (permalink)  
Старый 28.01.2018, 23:36
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,514

Можно, но не нужно. Eval во-первых небезопасна если работаешь с чужими строками, а во-вторых отключает любые внутренние оптимизации движка, из-за чего вся функция работает на порядок медленнее.
Даже если дана длинная цепочка в виде строки, всё равно выгодней написать функцию которая будет разбирать строку и делать это через скобочки, чем использовать eval.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите как вывести все свойства объекта? tiho Общие вопросы Javascript 17 15.11.2015 20:50
как правильно обращаться к свойствам объект внутри самого объекта ? mitiya Общие вопросы Javascript 12 25.04.2015 21:18
Доступ к свойствам объекта shifteee Общие вопросы Javascript 7 01.06.2012 17:27
Ошибка доступа к перечисляемым свойствам объекта в массиве for in Sundro Общие вопросы Javascript 7 08.01.2012 19:31
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00