Обращение к свойству объекта через квадратные скобки. Почему?
Я выделил жирным элементы относящиеся к вопросу.
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. Строка. Безо всякий обращений к объекту. |
Цитата:
Доступ через квадратные скобки |
Ага. Спасибо. Прочитал.
var person = { age: 25 }; Записи person['age'] и person.age идентичны. Всё ясно стало. Спасибо. |
Часовой пояс GMT +3, время: 14:19. |