我希望它可以工作,但它只能在 Chrome、firefox 和 IE 上工作,它什么都不提醒,这是我的代码:
var name;
function say() {
alert(name);
}
function execute(someFunction, value) {
name = value;
someFunction;
}
execute(say(), "Hello");
我希望它可以工作,但它只能在 Chrome、firefox 和 IE 上工作,它什么都不提醒,这是我的代码:
var name;
function say() {
alert(name);
}
function execute(someFunction, value) {
name = value;
someFunction;
}
execute(say(), "Hello");
代码显然是错误的:
execute(say(), "Hello");
这会将返回值传递给say()
to execute
。但是,您想传递函数,因此execute(say, "Hello");
在该函数中使用 andsomeFunction()
来执行它。
尽管它可能/希望不再重要,但代码确实在 Firefox 中工作 - 它会发出警报undefined
,因为它say()
是在运行之前execute()
执行的。同样的事情发生在 Chrome - 然而,它使用一个空的警报框而不是显示字符串undefined
,因为显然 chrome(或至少它的开发者控制台)有一个全局变量 ?name? 默认定义为空字符串。