Вопрос №279 от пользователя Ilhom в уроке «Функции в JavaScript», курс «Введение в Javascript»

Ilhom

Решил задачку. Но все равно не ооочень понял почему при возврашении объем коробки переменные через this.width и т.д принимает данные соседных объектов? Кто-нибудь объесните пожалуйста. Спасибо. Хотя успешно выполнил заданию почуму-то статус до сих пор - Not Finished.

3 0

Rakhim D.

Что значит "принимает данные соседных объектов"?

Давайте разберемся. Вы написали функцию, которая обращается к трем переменным через 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?

2

Rakhim D.

Извиняюсь, Not Finished – это баг, исправляем.

0

Ilhom

Спасибо большое за разяснения! Меня вводил в заблуждения тот факт, что думал для такое поведение функции и объекта метод calculateVolume должно определиться више как один из свойств объектов. Теперь вроде все понятно!

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
1 июня 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
1 июня 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
1 июня 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
1 июня 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
1 июня 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
1 июня 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
1 июня 5 месяцев