我对js还是很陌生,所以希望得到一些帮助。我有两个代码块,我认为它们应该一样工作,但不一样。有人可以解释他们的不同之处吗?看起来像在第一段代码中,解析器直接进入函数。

function embedGameSwfAfterReg() {
    embedGameSwf("{$swfLocation}", "100%", "100%", {$flashVars});
}
API.registerOnload(embedGameSwfAfterReg())




API.registerOnload(function() {
    embedGameSwfAfterReg("{$swfLocation}", "100%", "100%", {$flashVars});
});

最佳答案

在第一个代码块中,您将embedGameSwfAfterReg函数的结果(未定义)注册为onload函数(()表示您正在评估该函数)。删除括号以注册embedGameSwfAfterReg函数本身:

API.registerOnload(embedGameSwfAfterReg)

09-25 15:19