原型吞噬javascript错误(Firefox)

Dan*_*iel 5 javascript firefox prototypejs

嘿,我对原型很陌生.问题是dom:loaded回调函数中的javascript错误没有显示在firefox(webconsole/errorconsole/firebug)中.
样本1:

document.observe("dom:loaded", function() {
syntax() error()
});
Run Code Online (Sandbox Code Playgroud)

样品2:

document.observe("dom:loaded", function() {
syntax(); error()
});
Run Code Online (Sandbox Code Playgroud)

现在有趣的事情:
如果我执行Sample1我得到一个javascript错误"丢失;在声明之前" - 当然在'error()之前应该有一个分号 - 所以这种类型的错误似乎有效.如果我执行Sample2我没有得到任何错误(实际上它不再是语法错误)但我应该得到一个"未定义的变量"错误,我没有得到.
有什么想法在这里发生了什么?
IE打印出错误btw

epo*_*och 0

发生的情况是,在示例 2 中,当添加分号时,字符串syntax; error充当两个单独的全局变量,对于编译器来说,它看起来与window.syntax; window.error

document.observe('dom:loaded', function() {
    syntax = 10; error = 5;
    alert(syntax + ' ' + error);
});
Run Code Online (Sandbox Code Playgroud)

尝试运行上面的例子。这将有助于更清楚地解释问题......