2010-01-19 1 views
10

Я использую код:Как установить переменную javascript для возврата встроенной функции?

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

пытается установить й истинно, то возвращаемое значение функции, но вместо й определяются как самая функция. Как установить значение x в качестве возвращаемого значения функции? Я мог бы легко кодировать эту проблему, используя не-встроенную функцию или некоторые такие, но меня это беспокоит, потому что я уверен, что должно быть простое решение.

Спасибо.

ответ

24

Решение состоит в определении функции, а затем вызвать его (путем добавления дополнительных скобок в конце):

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

Вы не выполняет функцию, вы устанавливаете x на самом деле быть функция.

Если у вас была какая-то переменная y, она может принимать значение функции с чем-то вроде:

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

или альтернативно выполнять функцию в месте с:

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

Ваш код просто определяет функцию и назначает ее x, функция не вызывается. Чтобы вызвать его, поместите функцию в скобки и добавьте () после нее, как для обычного вызова функции:

var x = 
     (
      function() { 
       return true; 
      } 
     )(); 
Смежные вопросы