Показать сообщение отдельно
  #1 (permalink)  
Старый 09.12.2018, 12:56
hoz hoz вне форума
Интересующийся
Отправить личное сообщение для hoz Посмотреть профиль Найти все сообщения от hoz
 
Регистрация: 26.11.2018
Сообщений: 19

Какой резон передавать функции в другое место?
Читаю учебник. Хотя, это не первое упоминание о такой возможности, но. тем не менее, очередной раз я об этом услышал, но никаких доводов логичных для подобных возможностей в языке не сказано.
Вот пример:
var f = function factorial(n) {
  return n ? n*factorial(n-1) : 1;
};

var g = f;  // скопировали ссылку на функцию-факториал в g
f = null;

alert( g(5) ); // 120, работает!

Я вижу это так:
1. Копирование функции в другую переменную производить дублирование кода.
2. Увеличивает количество используемой памяти.
Ведь если есть функция, и она работает как нужно, то её нужно использовать, а не копировать куда-то, а потом использовать под другим именем. Абсурд какой-то, на первый взгляд.
Вот и хочется увидеть адекватный вариант применения такого похода, если, конечно, кто-нить это вообще использует.
Ответить с цитированием