I'm using the code:
var x = function() {return true;};
trying to set x to true, the return value of the function, but instead x is defined as the function itself. How can I set x as the return value of the function? I could easily code around this problem by using a non-inline function or some such, but it bugs me because I'm sure there must be a simple solution.
Thanks.
解决方案是定义函数然后调用它(通过在末尾添加额外的括号):
var x = ( function() {return true;} ) ();
You're not executing the function, you're setting x
to actually be the function.
If you had some variable y
, it could take on the value of the function with something like:
var x = function(){ return true; };
var y = x(); // y is now set to true.
or alternatively execute the function in place with:
var x = (function(){ return true; })();
Your code just defines the function and assigns it to x
, the function doesn't get called. To call it, put the function in parenthesis and add ()
after it, like for a normal function call:
var x =
(
function () {
return true;
}
)();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.