在Firebug的控制台简单的JavaScript代码的Firefox崩溃
var a = [];
a[0] = a;
崩溃的Firefox!
为什么?
编辑:
- 这种说法在逻辑上是正确的,并没有什么不好引用递归。因此,这是一个在
浏览器Firebug中的错误。 - 在Chrome和Opera中正常工作。
- 我使用Firebug和Firefox 的最后一个官方版本
编辑2:它崩溃在Firebug的控制台和本地Firefox网页控制台进行
在Firebug的控制台简单的JavaScript代码的Firefox崩溃
var a = [];
a[0] = a;
崩溃的Firefox!
为什么?
编辑:
编辑2:它崩溃在Firebug的控制台和本地Firefox网页控制台进行
我认为这是一个萤火虫的bug。
它在内置的firefox控制台(ctrl + shift + k),镀铬控制台和Opera控制台中工作正常。
我会用萤火虫提交错误报告。
错误:http://code.google.com/p/fbug/issues/detail?id=3663 – Kato 2012-05-22 18:07:00
但是你有什么本质上的错误行为那是,正在构建一个“包含”自身的数据结构(实际上包含对自身的引用)。
当显示这种结构如果代码尚未写入思考这种可能性很可能是调试器将永远递归(最多SO :-)),试图去无限链的末端
a[0][0][0][0]...
非常有趣,推动数组本身。我认为这是一个无限递归,这就是为什么它崩溃FF,并可能会崩溃任何浏览器。你打算使用这种数组的目的是什么? – Teemu 2012-02-25 10:46:57
@GGG嗯,当将第一个数组分配到同一个数组的第一个索引(或任何索引)时,分配将一直持续。这不是一个崩溃? – Teemu 2012-02-25 10:52:31
@Teemu nope,在控制台中尝试它......它创建一个引用自身属性的对象,但这并不罕见('window.self','window.top'等)。 – 2012-02-25 10:54:42