Ответ 1
Решение состоит в том, чтобы определить функцию и затем вызвать ее (добавив дополнительные скобки в конце):
var x = ( function() {return true;} ) ();
Я использую код:
var x = function() {return true;};
пытается установить x в значение true, возвращаемое значение функции, но вместо этого 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
, функция не вызывается. Чтобы вызвать его, поместите функцию в скобки и добавьте ()
после нее, например, для обычного вызова функции:
var x =
(
function () {
return true;
}
)();