Самая глупая ошибка, которую я видел за всю жизнь на Хабре. Вам нужно объявить функцию
fn()
раньше, чем в месте, где она впервые вызывается. Да и зачем объявлять функции
returnFnResult()
параметр
fn.
Он же здесь попросту не нужен. Как говорил один человек:
Скажу помягче: за такой код, который пишет Попов в своих видеоуроках, раньше либо четвертовали, либо сжигали на костре. И сейчас только мораторий на смертную казнь мешает сделать это.
Почти тоже самое и с вами. Простите, если это прозвучало резко и немного грубо)