原型吞噬javascript错误(Firefox)

时间:2011-07-20 10:52:24

标签: javascript firefox prototypejs

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

document.observe("dom:loaded", function() {
syntax() error()
});

Sample2:

document.observe("dom:loaded", function() {
syntax(); error()
});

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

1 个答案:

答案 0 :(得分:0)

正在发生的事情是,在样本2中添加分号时,字符串syntax; error充当两个单独的全局变量,编译器看起来与window.syntax; window.error

相同
document.observe('dom:loaded', function() {
    syntax = 10; error = 5;
    alert(syntax + ' ' + error);
});

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