Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обращение к свойству объекта через квадратные скобки. Почему? (https://javascript.ru/forum/misc/44902-obrashhenie-k-svojjstvu-obekta-cherez-kvadratnye-skobki-pochemu.html)

koderman 06.02.2014 02:17

Обращение к свойству объекта через квадратные скобки. Почему?
 
Я выделил жирным элементы относящиеся к вопросу.

var sommerTour = {
turkey : 2000,
spain : 3000,
egypt : 1000
} ;
summerTour.calc = function (peoples, days, country)
{
var result = peoples*days*sommerTour[country];
}
return result;
document.write ("Стоимость составит" + summerTour.calc (2, 10, "turkey" ) ) ;





1. У меня вопрос--
Как слово turkey передаётся в эту строку? { var result = peoples*days*sommerTour [country]; }

Как я понял слово turkey встаёт вместо слова country? Почему так? Почему слово turkey не заменяет полностью выражение sommerTour [country] ?? Это ведь sommerTour [country] единый элемент функции, почему он полностью не заменяется словом turkey ??
2. Ещё--
допустим как-то вставилось слово turkey в функцию, и получилось это sommerTour[turkey]
Но ведь обращение к методам объекта идёт через точку, а не через квадратные скобки.
Вот так должно быть ведь sommerTour.turkey


Я думал может country принимает значение свойства turkey объекта sommerTour. Но нет, тут summerTour.calc (2, 10, "turkey" ) передаётся просто слово turkey. Строка. Безо всякий обращений к объекту.

рони 06.02.2014 02:24

Цитата:

Сообщение от koderman
допустим как-то вставилось слово turkey в функцию, и получилось это sommerTour[turkey]

получилось sommerTour["turkey"]

Доступ через квадратные скобки

koderman 06.02.2014 02:48

Ага. Спасибо. Прочитал.
var person = { age: 25 };

Записи person['age'] и person.age идентичны.

Всё ясно стало. Спасибо.


Часовой пояс GMT +3, время: 16:41.