如何在JavaScript中将函数作为参数传递。
在下面的代码中,如果我拨打whatMustHappen (TWO(),ONE())
,我希望他们按照x
功能y
和whatMustHappen
的顺序排列。
现在它会在参数中看到它时触发。
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());
答案 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);