Вопрос №279 от пользователя Ilhom в уроке «Функции в JavaScript», курс «Введение в Javascript»
Введение в Javascript
→
Функции в JavaScript
(архив)
Решил задачку. Но все равно не ооочень понял почему при возврашении объем коробки переменные через this.width и т.д принимает данные соседных объектов? Кто-нибудь объесните пожалуйста. Спасибо. Хотя успешно выполнил заданию почуму-то статус до сих пор - Not Finished.
Что значит "принимает данные соседных объектов"?
Давайте разберемся. Вы написали функцию, которая обращается к трем переменным через this. В лекции говорится, в каких случаях к чему будет происходить обращение когда вы используете this.
Ниже в коде мы видим:
box1.calculateVolume = volume;
box2.calculateVolume = volume;
box3.calculateVolume = volume;
Тут каждому объекту box1, box2 и box3 мы грубо говоря задаем функцию, которую описали выше. Теперь можно вызвать box1.calculateVolume() и будет выполнен написанный вами код, который обращается к this.width и пр. Мы вызвали функцию у объекта box1, значит this в выполнении функции будет указывать на этот самый объект box1. Как если бы мы использовали box1.width.
Если стоит статус Not Finished, значит что-то еще не доделали. Может, пропустили файл simple_func_test.js
?
Извиняюсь, Not Finished – это баг, исправляем.
Спасибо большое за разяснения! Меня вводил в заблуждения тот факт, что думал для такое поведение функции и объекта метод calculateVolume должно определиться више как один из свойств объектов. Теперь вроде все понятно!
Используйте Хекслет по-максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт