JavaScript参考手册
错误 | Errors
Errors: Dead object
信息
TypeError: can't access dead object
错误类型
TypeError
什么地方出了错?
为了提高内存使用率并防止内存泄漏,Firefox不允许附加组件在其父文档被销毁后保留对DOM对象的强引用。一个死对象,持有一个强壮的(保持活着)的DOM元素的引用,即使它在DOM中被销毁之后仍然存在。为了避免这些问题,引用外部文档中的DOM节点应该存储在特定于该文档的对象中,并在文档被卸载时被清除,或者被存储为弱引用。
检查一个对象是否死亡
Components.utils提供了一个isDeadWrapper()
特权代码可能使用的方法。
if (Components.utils.isDeadWrapper(window)) {
// dead
}
无特权的代码无法访问Component.utils,可能只是能够捕获异常。
try {
String(window);
}
catch (e) {
console.log("window is likely dead");
}
错误 | Errors相关
JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络