Funções são blocos de código reutilizáveis que podem receber parâmetros e retornar valores. Existem duas formas de criar funções: instrução de função e expressão de função. Instrução de função é a forma mais comum e legível, enquanto expressão de função é útil para comportamentos dinâmicos. Dentro das funções, parâmetros podem ser passados por valor ou referência e o objeto arguments fornece informações sobre os parâmetros passados.