2010-05-07 25 views
15

Tengo una función de JavaScript para generar una var. Esa función se activa mediante un evento de botón onclick.convertir la variable local de JavaScript en la variable global

Después de que se genere var, necesito usarlo como una var global para que otros procesos js puedan usar esa var.

¿Cómo lo hago?

+0

FYI, y mucho menos procesos, javascript ni siquiera usar hilos, excepto creo que setTimeout –

Respuesta

11

Usted debe ser capaz de agregar valor de la variable a una propiedad del objeto global window:

window.yourVarName = yourVarName; 

Entonces las otras funciones podrán acceder yourVarName simplemente haciendo referencia a yourVarname directamente. No será necesario usar window.yourVarName.

Sin embargo, tenga en cuenta que, en general, global variables are evil.

+0

¿por qué? t mal? Mente explicar un poco? –

+0

@Eric: http://stackoverflow.com/questions/2613310/ive-heard-global-variables-are-bad-what-alternative-solution-should-i-use –

+0

en Javascript, de forma predeterminada es objeto de Windows, ¿por qué otra vez prefijarlo con ventana –

3

Declarar la variable fuera del ámbito de la función:

var foo = null; 

function myClickEvent() { 
    foo = someStuffThatGetsValue; 
} 

Mejor aún, utilizar una sola variable global como el espacio de nombres para su aplicación, y almacenar el valor dentro de ese:

var MyApp = { 
    foo: null 
}; 

function myClickEvent() { 
    MyApp.foo = someStuffThatGetsValue; 
} 

La función en sí misma podría incluirse allí

Cuestiones relacionadas