Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
10 / 10 / 1
Регистрация: 20.08.2016
Сообщений: 245

Объясните решение Создайте функцию add(n)/Add(n), которая возвращает функцию, которая всегда добавляет n к любому числу

18.10.2021, 23:29. Показов 2195. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создайте функцию
JavaScript
1
add(n)/Add(n)
, которая возвращает функцию, которая всегда добавляет n к любому числу

JavaScript
1
2
var addOne = add(1);
addOne(3); // 4
JavaScript
1
2
var addThree  = add(3);
addThree(3); // 6
Решение

JavaScript
1
2
3
4
5
function add(n) {
  return function (m) {
    return n+m;
  }
}
Не понимаю, почему если, например, в первом примере взять
JavaScript
1
n == 1
, у нас вернется функция m
JavaScript
1
{ 1 + m}
, и затем мы вызываем addOne c n == 3, то почему у нас 1 из предыдущей функции становится m? И складывается с n == 3 ?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.10.2021, 23:29
Ответы с готовыми решениями:

Создайте функцию, которая получает пароль в параметре и возвращает функцию которая сравнивает строку с паролем.
Создайте замыкание: function makePassword(password) { return function nickname(passwordGuess) { return...

Создайте функцию, которая принимает число от 1 до 7 и возвращает название дня недели. Решение через if else.
Здравствуйте. Есть задача: Сделайте функцию, которая принимает параметром число от 1 до 7, а возвращает день недели на русском языке. ...

функцию add которая принимала только числа в виде аргументов
Добрый вечер всем. Нужна помощь. Есть задание: Доработайте функцию add таким образом чтобы она принимала только числа в виде аргументов....

3
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
18.10.2021, 23:43
Лучший ответ Сообщение было отмечено sozdatel как решение

Решение

Цитата Сообщение от sozdatel Посмотреть сообщение
затем мы вызываем addOne c n = 3
Вот здесь ошибка. На второй строке мы вызываем уже вложенную функцию, которую вернула первая функция. То есть по сути передаём аргумент m, а не n.
JavaScript
1
2
3
4
5
6
7
function add(n) {
  return function (m) {
    return n+m;
  }
}
 
var addOne = add(1);
Что будет в переменной addOne? А там будет функция, которую вернёт функция add(). Другими словами получится следующее:
JavaScript
1
2
3
var addOne = function(m) {
  return 1 + m;
}
Теперь при вызове функции addOne() мы получаем следующее:
JavaScript
1
2
3
addOne(3);
// =>
return 1 + 3; // 4
Добавлено через 3 минуты
Ещё вдогонку. Если обойтись без промежуточных переменных, то:
JavaScript
1
2
3
4
5
6
7
function add(n) {
  return function (m) {
    return n+m;
  }
}
 
add(1)(3); // 4
1
10 / 10 / 1
Регистрация: 20.08.2016
Сообщений: 245
19.10.2021, 00:03  [ТС]
Balanaar, спасибо, вроде стало понятнее. Что почитать снова, чтобы лучше разобраться и запомнить этот приём? Вложенные функции?
0
 Аватар для klyapa
3503 / 1267 / 429
Регистрация: 24.07.2016
Сообщений: 1,890
19.10.2021, 00:31
Цитата Сообщение от sozdatel Посмотреть сообщение
Что почитать снова, чтобы лучше разобраться и запомнить этот приём?
Замыкания

Добавлено через 15 минут
Здесь ещё можно почитать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2021, 00:31
Помогаю со студенческими работами здесь

Описать функцию, которая добавляет к целому числу K справа цифру d
Описать функцию add_right_digit(d, k), которая добавляет к целому числу K справа цифру d(который лежит в диапазоне 1-9, k - целое число).С...

Создайте функцию, которая возвращает длину отрезка АВ.
Выполнить следующие задачи. Использовать функции для решения обязательно. Результат выводить через document.write ...

Создайте функцию которая возвращает последовательность чисел
Создайте функцию byThrees(), которая возвращает последовательность чисел, каждое из которых на 3 больше предыдущего. Начните...

Напишите функцию которая по данному натуральному числу n возвращает число
Напишите функцию которая по данному натуральному числу n возвращает число которая по данному натуральному числу n возвращает число,...

Создайте функцию, которая принимает на вход путь и возвращает информацию о файлах и директориях.
Задача звучит так- реализуйте и экспортируйте по умолчанию функцию, которая принимает на вход путь (абсолютный или относительный) и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru