Какой резон передавать функции в другое место?
Читаю учебник. Хотя, это не первое упоминание о такой возможности, но. тем не менее, очередной раз я об этом услышал, но никаких доводов логичных для подобных возможностей в языке не сказано.
Вот пример: var f = function factorial(n) { return n ? n*factorial(n-1) : 1; }; var g = f; // скопировали ссылку на функцию-факториал в g f = null; alert( g(5) ); // 120, работает! Я вижу это так: 1. Копирование функции в другую переменную производить дублирование кода. 2. Увеличивает количество используемой памяти. Ведь если есть функция, и она работает как нужно, то её нужно использовать, а не копировать куда-то, а потом использовать под другим именем. Абсурд какой-то, на первый взгляд. Вот и хочется увидеть адекватный вариант применения такого похода, если, конечно, кто-нить это вообще использует. |
Цитата:
https://learn.javascript.ru/object-reference |
Цитата:
Я провожу аналогию. Такого в других языках не встречалось.. Дико, на самом деле)) |
Цитата:
|
Цитата:
|
Что вам найти применение ссылок в Си или сами найдете?
|
https://www.youtube.com/watch?v=4oud...eWwem&index=21
первые две минуты |
Цитата:
А вот какой с этого толк - тема не раскрыта. Как я понимаю, используется это не часто. Как попадётся где-нить, то можно будет увидеть причину использования такого подхода.. |
Будут асинхронные запросы, тогда и вопрос решится )
|
hoz,
почитайте про замыкания в яваскрипте, когда из функции возвращается другая ф-я. Там эта возможность широко используется. Для объектов/массивов очевидное применение - передача параметров в функцию по ссылке, чтобы не копировать большие объёмы данных лишний раз. |
Часовой пояс GMT +3, время: 13:53. |