如何列出javascript对象的函数/方法? (它甚至有可能吗?)

这个问题是故意措辞像这个问题。

我甚至不知道这是否可能,我记得隐约听到一些关于JS中不可枚举的属性。

无论如何,简单来说就是:我在js框架上开发了一些东西,我没有文档,也没有简单的代码访问,这对我知道我可以用我的对象做什么很有帮助。


我认为这是你正在寻找的东西:

var obj = { locaMethod: function() { alert("hello"); }, a: "b", c: 2 };
for(var p in obj)
{
    if(typeof obj[p] === "function") {
      // its a function if you get here
    }
}

如果在项目中包含_.functions(yourObject) ,则可以使用_.functions(yourObject)


您应该能够枚举直接在对象上设置的方法,例如:

var obj = { locaMethod: function() { alert("hello"); } };

但大多数方法都属于对象的原型,如下所示:

var Obj = function ObjClass() {};
Obj.prototype.inheritedMethod = function() { alert("hello"); };
var obj = new Obj();

因此,在这种情况下,您可以通过枚举Obj.prototype的属性来发现继承的方法。

链接地址: http://www.djcxy.com/p/27371.html

上一篇: How to list the functions/methods of a javascript object? (Is it even possible?)

下一篇: Get all keys of a JavaScript object