¿Cómo hacer que una variable local sea global?

Como la gente ha señalado, la asignación de una variable local como una propiedad en el objeto global (por ejemplo, window ) lo hará global.

Acerca de descartar la palabra clave var , eso debe evitarse, ya que es una característica obsoleta. En otras palabras, el código que usa esta función se romperá en algún momento en el futuro (si de todos modos sobrevive tanto tiempo). Debe ceñirse a la asignación de propiedades en el objeto global para crear variables globales.

Finalmente, generalmente debe tratar de evitar hacer variables globales si puede. Si bien hay algunos casos en los que definitivamente desea hacer eso, existen mejores soluciones. El uso de variables globales no solo es feo, sino que expone su aplicación al código de terceros, lo que siempre es algo malo. Complementos de navegador mal escritos, anuncios de vendedores descuidados, muchas cosas pueden estropear su aplicación.

Esta pregunta es un poco vaga, pero:
Simplemente definiendo la variable en el ámbito global, estará disponible en todos los ámbitos. Del mismo modo, al soltar la palabra clave var dentro de la función, la variable se globalizará automáticamente (mala idea, obviamente).

Buen ejemplo:

  var cambiable;

 función changeSomething () {changeable = 'bla';}

 cambia algo();
 console.log (modificable); 

mal ejemplo:

  función changeSomething () {
   cambiable = 'bla';  // global implícito - mala idea
 }

 changeSomthing ();
 console.log (modificable); 

Navegador:

  // Este es el alcance global

 función () {
   // Alcance de la función local
   var myLocalVariable = 'Hola';
   window.myGlobalVariable = mylocalVariable;
 }

Nodo:

  // Este es el alcance global

 función () {
   // Alcance de la función local 
   var myLocalVariable = 'Hola';
   global.myGlobalVariable = mylocalVariable;
 }

Pero ten cuidado con los valores de referencia.