2012-04-06 19 views
6

Tengo que llamar a una función de la siguiente manera:¿Usar cadena de JavaScript como nombre de función?

var f = 'fadeOut'; 
$(v).f(s, function(){ 
    $(v).css('visibility', 'hidden').css('position', 'absolute'); 
}); 

Es esto posible hacerlo simplemente?

+0

Por favor, echar un vistazo al siguiente enlace http://stackoverflow.com/questions/3619046/javascript-variable-function-name. No es exactamente la misma pregunta, pero creo que puede ser útil. –

+0

posible duplicado de [¿Cómo puedo llamar a un nombre de función JavaScript utilizando una cadena?] (Http://stackoverflow.com/questions/496961/how-do-i-call-a-javascript-function-name-using-a -string), ¿Llamar a una función en JavaScript por su nombre? , etc. –

Respuesta

9

var f = 'fadeOut'; 
$(v)[f](s, function(){ 
    $(v).css('visibility', 'hidden').css('position', 'absolute'); 
}); 
+2

gracias !! este sitio nunca deja de sorprenderme – nick

+0

Se puede acceder a cualquier propiedad de un objeto con sintaxis de puntos o corchetes. Este último aunque es la única forma de usar si la propiedad contiene espacios u otros caracteres no permitidos –

+0

@BorisShemigon Tiene razón, sin embargo, no puede acceder a una propiedad con sintaxis de puntos mediante una variable de cadena, en ese caso debe usar corchetes o utilizar 'eval' que no recomiendo –

Cuestiones relacionadas