En muchos lenguajes de programación, se hace una distinción clara entre funciones y procedimientos. Sin embargo, en JavaScript, estas dos conceptos se consideran esencialmente lo mismo.
En la mayoría de los lenguajes, una función es un subprograma que devuelve un valor, mientras que un procedimiento es un subprograma que realiza una acción pero no devuelve un valor.
En JavaScript, ambos son definidos usando la palabra clave “function”. La diferencia radica en lo que el bloque de código dentro de la función hace. Si devuelve un valor (utilizando la declaración de retorno), entonces podría considerarse como una “función” en el sentido tradicional. Sin embargo, si no devuelve un valor, podría considerarse como un “procedimiento”.
Aun así, estas son distinciones semánticas más que técnicas. En la práctica, la mayoría de los desarrolladores de JavaScript se refieren a ambos conceptos simplemente como “funciones”.