Можно ли присвоить переменной функцию (а не результат ее выполнения)? Например, если нужно несколько одинаковых функций с разным именем? Или нужно создать новую функцию, которая будет содержать функционал уже существующей.
Asked
Active
Viewed 93 times
2
-
присвоение функции ничем не отличается от присвоения любого другого значения – Grundy Apr 27 '17 at 14:52
-
если функции должны быть одинаковыми, почему у них должно быть разное название? – Grundy Apr 27 '17 at 14:58
-
Вы правы, я при присваивании машинально писал () после названия, нужно быть внимательнее,вопрос можно закрывать. – Dmitry Sokolov Apr 27 '17 at 15:04
-
Например чтобы писать НазваниеФункции() а не НазваниеОбъекта.НазваниеПодобъекта.НазваниеФункции() – Dmitry Sokolov Apr 27 '17 at 15:09
-
1обрати внимание, что в этом случае можешь столкнуться с потерей контекста вызова – Grundy Apr 27 '17 at 15:15
1 Answers
0
let func = function FucnName () {};
Aliaksandr Pitkevich
- 1,325
-
попробуй писать более развернутые ответы, а не просто кусок непонятного кода – Grundy Apr 27 '17 at 14:57
-
-
2Есть сомнения касательно
Сами функции — нельзя. Просьба исправить и добавить пример кода, если это не так. – Arhadthedev Apr 30 '17 at 11:26 -
-
@Arhad почему мой ответ изменен, на: сами функции - нельзя. Поясните пожалуйста – Aliaksandr Pitkevich Apr 30 '17 at 11:52
-
@АлександрПиткевич, вы привели только пример с лямбдами, вот и сложилось впечатление, что только с ними и можно. Убрал спорную часть. – Arhadthedev Apr 30 '17 at 11:55
-
1@Arhad обычную функцию Function Declaration тоже можно присваивать – Aliaksandr Pitkevich Apr 30 '17 at 11:59
-
3
-
-
@Arhad я переоткрыл вопрос (т.к. вопрос сам по себе вполне хороший, вне зависимости от причин, которые побудили автора его задать) - так что можете запостить новый ответ :) – Apr 30 '17 at 16:29
-
@PashaPash, уже было несколько вопросов, про забывание/лишнее выставление круглых скобок, а присваивание функции ничем не отличается от присваиванию любой другой переменной. Поэтому не стоило переоткрывать, тем более когда в ответе нет никакого объяснения. – Grundy May 01 '17 at 15:10
-
@Grundy этот вопрос однозначно не про забытые круглые скобки. Проблема в том, что пока вопрос закрыт - к нему не появится новый ответ с объяснением (разве только кто-то полностью перепишет чужой ответ, как сделал выше Arhad). "присваивание функции ничем не отличается от присваиванию любой другой переменной" - запостите это как ответ с примером в одну строку и будет win. – May 01 '17 at 15:44