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

Введение в 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

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

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

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

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 8 июня
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 8 июня
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 8 июня
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 8 июня
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 8 июня
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 8 июня
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 8 июня
профессия
от 10 080 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 8 июня
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 8 июня
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время
профессия
от 6 300 ₽ в месяц
новый
Автоматизированное тестирование веб-приложений на JavaScript
10 месяцев
с нуля
в разработке
дата определяется