将函数作为JavaScript中的参数传递

时间:2012-07-19 10:20:02

标签: javascript

如何在JavaScript中将函数作为参数传递。

在下面的代码中,如果我拨打whatMustHappen (TWO(),ONE()),我希望他们按照x功能ywhatMustHappen的顺序排列。

现在它会在参数中看到它时触发。

var ONE = function() {
    alert("ONE");
}
var TWO = function() {
    alert("TWO");
}
var THREE = function() {
    alert("THREE");
}
var whatMustHappen = function(x, y) {
    y;
    x;
}
whatMustHappen(TWO(), null);
whatMustHappen(TWO(), ONE());

3 个答案:

答案 0 :(得分:2)

var whatMustHappen = function(x, y) {
        if (y) y();
        if (x) x();
    }
whatMustHappen(TWO, null);
whatMustHappen(TWO, ONE);

答案 1 :(得分:2)

()调用一个函数并返回其结果。要传递函数,只需将其传递给任何其他变量:

whatMustHappen(TWO, ONE);

whatMustHappen函数中,您可以调用它们:

var whatMustHappen = function(x, y) {
        if( y ) y();
        if( x ) x();
    }

答案 2 :(得分:0)

如果要传递函数,请不要调用它(使用(args))。

function foo () {
    alert("foo");
}

function bar (arg) {
    alert("Function passed: " + arg);
    arg();
}

bar(foo);