2012-02-25 25 views
9

Trong giao diện điều khiển Firebug củaSimple mã JavaScript bị rơi Firefox

var a = []; 
a[0] = a; 

đâm Firefox!

Tại sao?

chỉnh sửa:

  1. Tuyên bố này là logic đúng, và không có gì xấu về tham khảo đệ quy là. Đó là lỗi trong trình duyệt Firebug.
  2. Hoạt động tốt trong Chrome và Opera.
  3. Tôi đang sử dụng phiên bản chính thức cuối cùng của Firebug và Firefox

chỉnh sửa 2: Nó bị treo trong Firebug console và làm việc tại quê hương Firefox giao diện điều khiển web

+0

Rất thú vị, để đẩy mảng vào chính nó. Tôi nghĩ rằng đây là một đệ quy vô hạn, đó là lý do tại sao nó bị lỗi FF, và có lẽ sẽ sụp đổ bất kỳ trình duyệt nào. Trong mục đích gì, bạn có ý định sử dụng loại mảng này? – Teemu

+0

@GGG Hmm, khi gán mảng đầu tiên vào chỉ mục đầu tiên (hoặc bất kỳ chỉ mục nào) của cùng một mảng, việc gán sẽ tiếp tục mãi mãi. Đó không phải là một vụ tai nạn? – Teemu

+0

@Teemu nope, hãy thử nó trong giao diện điều khiển ... nó tạo ra một đối tượng với một tài sản đề cập đến chính nó, nhưng điều này không phải là không phổ biến ('window.self',' window.top', vv). –

Trả lời

4

Tôi nghĩ đây là lỗi về bọ lửa.

Nó hoạt động tốt trong bảng điều khiển firefox tích hợp (ctrl + shift + k), bảng điều khiển chrome và bảng điều khiển opera.

Tôi sẽ gửi báo cáo lỗi bằng firebug.

+1

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

2

Có gì vốn đã sai làm đó là, tuy nhiên bạn đang xây dựng một cấu trúc dữ liệu "chứa" chính nó (thực sự chứa một tham chiếu đến chính nó).

Khi hiển thị loại cấu trúc này nếu mã chưa được viết vào khả năng này, có khả năng trình gỡ lỗi sẽ tái sử dụng mãi mãi (tối đa SO :-)), cố gắng đến cuối chuỗi vô hạn

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

Điều thú vị là nó hoạt động tốt trong Chrome, điều này dường như chỉ kiểm tra các thuộc tính của một đối tượng khi bạn mở rộng nó. Bây giờ tôi tự hỏi làm thế nào 'top.top.top ...' không phá vỡ firebug. –

+0

Thôi nào! nó KHÔNG tạo ra [0] [0] ....! Tham chiếu này là hợp lệ nhưng không có đối tượng riêng biệt cho nó, nó được tham chiếu đến cùng __a__ – Viller

+0

@Viller: không ai nói điều đó. Vấn đề là nếu thuật toán mà Firebug sử dụng để chuyển đổi thành một biểu diễn chuỗi có thể xử lý các mảng tự tham chiếu. – 6502

Các vấn đề liên quan