js方法失败(抛出异常?),哪个firebug不报告
下面的js方法没有返回,但firebug报告没有异常:
function test_contains_doesNotBailWithoutException() {
$.contains(document.getElementById('navlinks', undefined));
// This line should be reached, or you should get an exception message in Firebug.
return true;
}
其中navlinks是页面上存在的东西,$来自jquery 1.5.1。该方法在调用 contains 方法时退出(我假设是抛出),在 jquery1.5.1 的第 4639 行中:
return !!(a.compareDocumentPosition(b) & 16);
其中 a 是 navlinks div,b 是未定义的。 firebug不应该在控制台报告异常吗?
可以肯定的是,在 Firebug 控制台中运行以下命令既不会产生错误消息,也不会返回结果:
return document.getElementById('navlinks').compareDocumentPosition(undefined);
编辑:我正在使用 Firefox 4.0.1 和 Firebug 1.7.1。
The following js method does not return, yet firebug reports no exception:
function test_contains_doesNotBailWithoutException() {
$.contains(document.getElementById('navlinks', undefined));
// This line should be reached, or you should get an exception message in Firebug.
return true;
}
where navlinks is something that exists on the page, and $ is from jquery 1.5.1. The method exits (throws, I assume) while calling the contains method, in line 4639 of jquery1.5.1:
return !!(a.compareDocumentPosition(b) & 16);
where a is the navlinks div and b is undefined. Shouldn't firebug report an exception in the console?
To be sure, running the following in the firebug console yields neither an error message nor a return result:
return document.getElementById('navlinks').compareDocumentPosition(undefined);
EDIT: I'm using Firefox 4.0.1 and Firebug 1.7.1.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,应该有一个例外;我当然得到了一个 JavaScript 版本:
或者来自 jQuery 版本的相同内容(在你的示例中,它在错误的位置有一个括号...这并不重要,因为缺少的参数自然会被
填充无论如何都是未定义的):
Yes, there should be an exception; I certainly get one with either the JavaScript version:
or the same thing from the jQuery version (which has a bracket in the wrong place in your example... not that it matters since the missing argument will naturally get filled in with
undefined
anyway):