Согласно style guide от Airbnb: следует избегать декларированных функций, тк они поднимаются и это вредит читабельности и поддержке.
Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it is defined in the file. This harms readability and maintainability.
Не нужно 2 разных функции, и удалять и добавлять событие каждый раз.
1 Вариант - сделать флаг (true, false) и в функции проверять.
2 Вариант - проверять display, если none - показать, block - скрыть. (логичнее этот вариант)