Es cuando las variables y las funciones se declaran antes que se procese cualquier tipo de código, el hoisting se ocupa cuando se ven las siguientes palabras:
** #1 Var**
** #1 function**
Esto pasa cuando mandamos a llamar antes de que se lea el código, te dejo un ejemplo de código.
HOISTING
console.log(hola);
var hola = "esto es un saludo";
NO HOISTING
var hola = "esto es un saludo";
console.log(hola);