2012-02-25 9 views
9

çöktü!Basit JavaScript kodu Firefox çöktü</p> <pre><code>var a = []; a[0] = a; </code></pre> <p>Firebug'ın konsolunda Firefox

Neden?

düzenleme:

  1. Bu ifade mantıksal olarak doğru olduğunu ve özyineleme başvuran hakkında kötü bir şey yoktur. Bunun için tarayıcısında Firebug'da bir hata var.
  2. Chrome ve Opera'da güzel çalışıyor.
  3. Ben düzenlemek

Firebug ve Firefox son resmi sürümlerini kullanıyorum 2: O Kundakçı konsolda çöküyor ve yerli Firefox web konsolunda çalışır

bunu yaparken doğal olarak yanlış bir şey ancak sen var,
+0

Diziyi kendi içine itmek için çok ilginç. Bunun sonsuz bir özyineleme olduğunu düşünüyorum, bu yüzden FF'nin çökmesine neden oluyor ve muhtemelen herhangi bir tarayıcıya çarpıyor. Hangi amaçla bu tür bir dizi kullanmak istiyorsunuz? – Teemu

+0

@GGG Hmm, ilk diziyi aynı dizinin ilk dizinine (veya herhangi bir dizine) atarken, atama sonsuza kadar devam eder. Bu bir çarpışma değil mi? – Teemu

+0

@Teemu nope, konsolda denemek ... kendisiyle ilgili bir özellik ile bir nesne oluşturur, ancak bu yaygın değildir ('window.self',' window.top', vb). –

cevap

4

Bu bir firebug hatası olduğunu düşünüyorum.

Yerleşik firefox konsolunda (ctrl + shift + k), krom konsolunda ve Opera konsolunda sorunsuz çalışır.

Firebug ile bir hata raporu hazırlarım.

+1

Hata: http://code.google.com/p/fbug/issues/detail?id=3663 – Kato

2

Kendisini "içeren" bir veri yapısı oluşturuyorlar (aslında kendi başına bir referans içerir).

kod bu olasılık o ayıklayıcı (en fazla SO :-)) sonsuza recurse olasıdır için düşünme yazılmadı eğer sonsuz zincirin ucuna almaya çalışırken, yapının bu tür görüntülenirken

a[0][0][0][0]... 
+2

İlginç bir şekilde, yalnızca bir nesneyi genişlettikten sonra bir nesnenin özelliklerini incelemek gibi görünen Chrome'da iyi çalışır. Şimdi merak ediyorum, top.top.topu ... firebug'u nasıl kırmıyor? –

+0

Haydi! bir [0] [0] .... oluşturmaz. Bu referans geçerlidir, ancak bunun için ayrı bir nesne yoktur, aynı __a__ – Viller

+0

@Viller referansıdır: kimse bunu söylemedi. Sorun, Firebug'ın bir dize temsile dönüştürmek için kullandığı algoritmanın kendi kendini referanslayan dizileri işleyebilmesidir. – 6502

İlgili konular