2011-04-02 139 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.目录(对象)在谷歌浏览器的开发工具的方法。