Показать сообщение отдельно
  #1 (permalink)  
Старый 06.02.2014, 02:17
Аспирант
Отправить личное сообщение для koderman Посмотреть профиль Найти все сообщения от koderman
 
Регистрация: 06.02.2014
Сообщений: 53

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

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. Строка. Безо всякий обращений к объекту.

Последний раз редактировалось koderman, 06.02.2014 в 02:30.
Ответить с цитированием