传递函数作为参数

时间:2012-06-05 12:05:21

标签: javascript

这是我的例子:

function a(b)
{
    b();
}

function b()
{
    alert("d");
}

function c()
{
    alert("e");
}

a(c);//Output e

随着小提琴:http://jsfiddle.net/YqeS3/

如何从?

中激活真正的b函数

5 个答案:

答案 0 :(得分:1)

如果在全局范围内定义了所有这些功能,您可以使用:

window.b();

答案 1 :(得分:1)

如果您的B功能不是全局的,并且您不想使用命名约定,则可以创建其他功能

function d() {
    b();
}

然后拨打那个。我仍然认为你应该简单地将你的论点和你的函数命名为其他东西,因为它也会让任何其他人(包括你自己的未来版本)看到你的代码时产生更少的混淆。

答案 2 :(得分:0)

您可以通过两种方法调用它

b();

a(b);

答案 3 :(得分:0)

假设你需要从b调用真实函数a,你应该写:

window.b();

答案 4 :(得分:0)

函数a中的变量b只是一个局部变量,您可以根据需要命名。在a的范围内调用它将使您无法在函数范围内调用具有该名称的外部变量或函数。如Sirko先前所述,您可以使用

在函数范围之外调用
window.b();

如果遇到问题,请考虑重命名范围变量。