有没有办法在Javascript中获取未知的对象的定义(公共方法和属性)?
实际上,我知道对象应该是什么,但它在访问应该存在的方法时遇到问题,所以我想看看定义了什么方法。
我无法控制此对象,因此无法使用JSON或toString。 还有其他想法吗?
答案 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