Я использую код:
var x = function() {return true;};
пытаясь установить x на истинный, возвращаемое значение функции, но вместо этого x определяется как сама функция. Как я могу установить x как возвращаемое значение функции? Я мог легко кодировать вокруг этой проблемы при помощи неподставляемой функции или некоторых такой, но она прослушивает меня, потому что я уверен, что должно быть простое решение.
Спасибо.
Раствор должен определить функцию, а затем вызывает его (добавив дополнительные скобки в конце):
var x = ( function() {return true;} ) ();
Вы не выполняете Функция, вы устанавливаете x
, чтобы на самом деле быть функцией.
Если у вас была некоторая переменная y
, она могла бы взять на себя значение функции с чем-то вроде:
var x = function(){ return true; };
var y = x(); // y is now set to true.
или альтернативно выполнить функцию на месте с:
var x = (function(){ return true; })();
Ваш код просто определяет функцию и назначает его x
, функция не вызывается. Называть это, поместите функцию в скобках и добавьте ()
после него, как для нормальной функции Call:
var x =
(
function () {
return true;
}
)();