2010-01-19 4 views
10

estoy usando el código:¿Cómo configuro una variable de JavaScript para el retorno de una función en línea?

var x = function() {return true;}; 

tratando de establecer x true, el valor de retorno de la función, pero en lugar de x se define como la propia función. ¿Cómo puedo establecer x como el valor de retorno de la función? Podría codificar fácilmente este problema utilizando una función no en línea o algo así, pero me molesta porque estoy seguro de que debe haber una solución simple.

Gracias.

Respuesta

24

La solución es definir la función y luego invocarlo (añadiendo los paréntesis adicionales al final):

var x = (function() {return true;})(); 
6

Usted no está ejecutando la función, se está configurando x ser en realidad el función.

Si tuviera alguna variable y, podría asumir el valor de la función con algo como:

var x = function(){ return true; }; 
var y = x(); // y is now set to true. 

o ejecutar la función, alternativamente, en su lugar con:

var x = (function(){ return true; })(); 
2

Su código sólo define la función y la asigna al x, la función no se llama. Para llamarlo, coloque la función entre paréntesis y agregue () después, como para una llamada a función normal:

var x = 
     (
      function() { 
       return true; 
      } 
     )(); 
Cuestiones relacionadas