Сделайте объект с тремя функциями. Пусть первая возвращает через return число 1, вторая - число 2, третья - число 3. С помощью созданных функций выведите в консоль сумму возвращаемых чисел. Переберите созданный объект циклом и выведите результаты работы функций в консоль.
Что сделал:
let obj = { func1: function(){return 1}, func2: function(){return 2}, func3: function(){return 3} } console.log(obj.func1()+obj.func2()+obj.func3()) //первая часть сделана
for (let func in obj){ console.log(obj.func()) //выдаёт ошибку }
Не понимаю, в чём ошибка и как дальше решить задачу
Дополнен 1 год назад
Нашёл решение. Вопрос закрыт
Ошибка возникает в вашем цикле for...in. Внутри цикла, когда вы обращаетесь к функции, вы используете obj.func(), но это неправильный синтаксис. Вместо этого вы должны использовать переменную func, которая представляет ключ функции в объекте obj. Вот исправленный код:
for (let func in obj) { console.log(obj[func]()); // Используйте квадратные скобки и переменную func }
Обратите внимание на использование квадратных скобок [] вместо точки . для доступа к функции в объекте по ключу func. Теперь цикл перебирает все функции в объекте obj и вызывает их, выводя результаты в консоль.
После внесения этих изменений ваш код должен работать правильно и вывести сумму возвращаемых чисел всех трех функций в консоль.
Когда нужно обратиться через переменную (в цикле обращаемся именно через переменную), а не через имя ключа - вызов через точку не сработает. Тут только квадратные скобки. Вызов функции - круглые скобки for (i in obj) { console.log(obj[i]()) };
Задача:
Сделайте объект с тремя функциями. Пусть первая возвращает через return число 1, вторая - число 2, третья - число 3. С помощью созданных функций выведите в консоль сумму возвращаемых чисел.
Переберите созданный объект циклом и выведите результаты работы функций в консоль.
Что сделал: Не понимаю, в чём ошибка и как дальше решить задачу