0

私はそれが動作することを望んでいますが、Firefox と IE の Chrome でのみ動作し、何も警告しません。これは私のコードです:

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

1 に答える 1

3

コードは明らかに間違っています:

execute(say(), "Hello");

これは の戻り値say()に渡しますexecuteただし、関数を渡したいのでexecute(say, "Hello");、その関数で and を使用someFunction()して実行します。


おそらく/うまくいけばもう問題ではありませんが、コードFirefox で動作します。実行前に実行されるundefinedため、警告が表示されます。Chrome でも同じことが起こりますが、明らかに chrome (または少なくともその開発者コンソール) にはグローバル変数 ?name? デフォルトで定義されている空の文字列です。say()execute()undefined

于 2012-05-28T09:25:08.697 に答える