Sé que no importa dónde se declaren las funciones y las variables, se mueven a la parte superior de su alcance, independientemente de si su alcance es global o local.
Sin embargo, parece que no puedo entender por qué el mecanismo de elevación solo mueve la declaración. Las asignaciones se dejan en su lugar.