0

我希望它可以工作,但它只能在 Chrome、firefox 和 IE 上工作,它什么都不提醒,这是我的代码:

    var name;
function say() {
    alert(name);
}
function execute(someFunction, value) {
    name = value;
    someFunction;
}
execute(say(), "Hello");
4

1 回答 1

3

代码显然是错误的:

execute(say(), "Hello");

这会将返回值传递给say()to execute。但是,您想传递函数,因此execute(say, "Hello");在该函数中使用 andsomeFunction()来执行它。


尽管它可能/希望不再重要,但代码确实在 Firefox 中工作 - 它会发出警报undefined,因为它say()是在运行之前execute()执行的。同样的事情发生在 Chrome - 然而,它使用一个空的警报框而不是显示字符串undefined,因为显然 chrome(或至少它的开发者控制台)有一个全局变量 ?name? 默认定义为空字符串。

于 2012-05-28T09:25:08.697 回答