在另一个函数的调用中调用函数

时间:2012-03-29 18:07:17

标签: javascript jquery function

我正试图从另一个函数的调用中调用一个函数。

如果我这样做,它可以正常工作。这将返回'x':

function returnval() {
    return ("x");
}

alert(
    returnval();
)

但是如何在函数调用中声明returnval函数时做同样的事情?我试过这个,以及我能想到的其他一切都无济于事。它返回'function(){return(“x”);})'而不是值本身,'x':

alert(
    function() {
        return ("x");
    }
)

同样,我也希望在函数调用中包含if语句。这有可能吗?

任何帮助将不胜感激。 :)

5 个答案:

答案 0 :(得分:1)

有一种东西,叫做即时函数调用。你在声明之后调用一个函数:

(function() {
    // ... function body
})()

更新这里是:http://www.jspatterns.com/self-executing-functions/

答案 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
);