let, var - объявление переменной. let ограничивает область видимости пределами функции, var будет видна из любой вложенности функций внутри текущего контекста.
olya_097, я же не вижу что передается в f, видимо у f есть метод apply(), вам лучше всё-же начать с изучения базы JS, а потом уже браться за подобные задачи :)