JavaScript Higher Order Functions: A Beginner's Guide