2011-04-02 57 views
31

當我從解釋器編寫Python代碼時,我可以鍵入dir()以具有在當前作用域中定義的名稱列表。當我使用Firebug,Chrome控制檯等交互式控制檯從瀏覽器開發Javascript代碼時,如何實現以編程方式實現相同的信息?Python的目錄等效於Javascript

回答

1

中發現的全局變量都保存在一個容易訪問對象(window)等,你可以檢查/輕鬆地重複他們。 (使用類似Glenjamin建議的函數)

另一方面,我不知道任何方法來檢查函數或閉包中定義的局部變量 - 如果這是可能的,我至少會猜測它會是高度瀏覽器/控制檯特定。

11

這可能會爲你工作,如果你需要一個簡單的解決方案:

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

有 「鑰匙」 在對象的方法,例如:

Object.keys(object) 

但是這個返回對象只有自己的屬性和方法。
要列出所有屬性和對象的方法,我知道兩個可能性:
1. console.dir(對象)在Firebug控制檯方法Firefox和
2.目錄(對象)在谷歌瀏覽器的開發工具的方法。