在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