2011-04-02 26 views
31

khi tôi viết mã Python từ trình thông dịch, tôi có thể nhập dir() để có danh sách tên được xác định trong phạm vi hiện tại. Làm thế nào để đạt được cùng một thông tin, theo lập trình, khi tôi phát triển mã Javascript từ trình duyệt bằng bảng điều khiển tương tác như firebug, chrome console, v.v ...?Tương đương với thư mục Python trong Javascript

Trả lời

6

Có một vài chức năng thực hiện điều này trong mã cho ChatZilla, bạn sẽ phải kiểm tra giấy phép đúng cách để xem bạn có thể trích xuất chúng ra và sử dụng chúng ở bất kỳ đâu.

Các chức năng có liên quan có thể được tìm thấy tại http://hg.mozilla.org/chatzilla/file/59b46c0bf716/js/lib/utils.js#l136 dumpObjectdumpObjectTree

1

Các biến toàn cục được lưu giữ trong một đối tượng dễ dàng truy cập (window) và do đó bạn có thể kiểm tra/lặp qua chúng một cách dễ dàng. (Sử dụng một cái gì đó giống như các chức năng được đề xuất bởi Glenjamin)

Mặt khác, tôi không biết cách nào để kiểm tra các biến cục bộ được xác định trong chức năng hoặc đóng cửa - nếu điều này là có thể, tôi đoán ít nhất là trình duyệt/giao diện điều khiển cao cụ thể.

11

Điều này có thể làm việc cho bạn, nếu bạn cần một giải pháp đơn giản:

function dir(object) { 
    stuff = []; 
    for (s in object) { 
     stuff.push(s); 
    } 
    stuff.sort(); 
    return stuff; 
} 
20

Có phương pháp "khóa" trong Đối tượng, ví dụ:

Object.keys(object) 

Nhưng chỉ thuộc tính và phương thức riêng của đối tượng trả lại này.
Để liệt kê tất cả các thuộc tính và phương thức của một đối tượng tôi biết 2 khả năng:
1. phương pháp console.dir (đối tượng) trong giao diện điều khiển firebug cho Firefox và
2. phương pháp dir (đối tượng) trong công cụ phát triển Google Chrome.

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