在Javascript中获取未知对象的定义

时间:2010-03-02 19:31:49

标签: javascript object definition

有没有办法在Javascript中获取未知的对象的定义(公共方法和属性)?

实际上,我知道对象应该是什么,但它在访问应该存在的方法时遇到问题,所以我想看看定义了什么方法。

我无法控制此对象,因此无法使用JSON或toString。 还有其他想法吗?

4 个答案:

答案 0 :(得分:2)

查看“Javascript:The Good Parts”,第23页关于反思。

一些注释:用于(键入o)枚举o的成员。这将包括通过原型链继承的成员。

您可以使用o.hasOwnProperty(name)来确定某些东西是对象的直接成员,还是通过原型链包含。

您可以使用typeof()来区分函数和属性。

答案 1 :(得分:0)

如果你已经期望一种已知类型的对象,但仍然希望检查是否存在特定方法,则可以使用以下方法执行此操作:

if ("method" in object) ....

答案 2 :(得分:0)

如果您有VS 2005,请查看Debugging client JavaScript in VS 2005

答案 3 :(得分:0)

您可以使用function_name.prototype.constructor