我正试图从另一个函数的调用中调用一个函数。
如果我这样做,它可以正常工作。这将返回'x':
function returnval() {
return ("x");
}
alert(
returnval();
)
但是如何在函数调用中声明returnval函数时做同样的事情?我试过这个,以及我能想到的其他一切都无济于事。它返回'function(){return(“x”);})'而不是值本身,'x':
alert(
function() {
return ("x");
}
)
同样,我也希望在函数调用中包含if语句。这有可能吗?
任何帮助将不胜感激。 :)
答案 0 :(得分:1)
有一种东西,叫做即时函数调用。你在声明之后调用一个函数:
(function() {
// ... function body
})()
答案 1 :(得分:1)
alert
不是“另一个函数的调用”。您正在将函数作为参数传递给函数。在警报的情况下,这仅仅警告javascript中的对象的功能。但是,您可以通过执行以下操作传递调用函数的结果:
alert(
function() {
return ("x");
}();
);
答案 2 :(得分:0)
您需要调用该函数。
之类的东西alert(
(function() {
return ("x");
})();
)
(function(){})()
构造称为自调用函数。
如果您不想这样做,您可以执行类似
的操作var f = function() {
return ("x");
};
alert(f());
答案 3 :(得分:0)
(function (){
alert('xxx');
}(); //alert('xxx');
所以像这样使用它:
alert((function() {
return ("x");
})()
);
答案 4 :(得分:0)
函数是JavaScript中的第一类对象,这意味着它们可以分配给变量,传递并存储以供以后使用。
您发布的语法是将函数本身传递给alert
。你想要做的是调用函数,并将其返回值传递给alert
:
alert(
(function() {
return ("x");
})() // Invoke the anonymous function
);