使用控制台查看对象的可用方法?

Posted

技术标签:

【中文标题】使用控制台查看对象的可用方法?【英文标题】:Use the console to see available methods on an object? 【发布时间】:2013-02-21 09:11:18 【问题描述】:

有什么方法可以使用控制台查看 JS 对象上可用的方法吗?

我在想这样的事情:

> var myArray = [1,2,3];
  undefined
> myArray
  [1, 2, 3]
> myArray.logme = function()  console.log(this); ;
  function ()  console.log(this); 
> myArray
  [1, 2, 3]

第二次输入myArray 时,我想看看logme() 方法现在可用的事实。

我想知道答案,以便更轻松地探索不熟悉的 JS 对象。

【问题讨论】:

如果您指的是 Chrome 的控制台,那么您可以简单地输入 myArray.(带点)这将显示 logme 以及所有其他 Array 方法 看看这个 q/a。 ***.com/questions/5523747/… @juco - 很酷,谢谢。不过,我想你不知道有什么方法可以只看到非数组原型方法? 【参考方案1】:

你可以使用

console.dir(myArray);

您将获得这样的可扩展/可检查显示,包括自定义属性和原型对象:

(来自https://***.com/a/14537759/1048572,另见What's the difference between console.dir and console.log?)

【讨论】:

【参考方案2】:

如果您在 Chrome 中,并且可以使用类似以下的内容(相当粗略)检查属性是否为 function

function showMethods(obj) 
    console.log(Object.keys(obj).filter(function(prop) 
        return typeof el[prop] == 'function';
    ));

那么就这样调用吧:

showMethods(a: 1, b: 2, c: function () ) // ['c']
showMethods(a: 1, b: 2) // []
showMethods(a: 1, b: function() , c: function () ) // ['b', 'c']

【讨论】:

以上是关于使用控制台查看对象的可用方法?的主要内容,如果未能解决你的问题,请参考以下文章

console对象

流星对象在控制台中可用,但抛出“无法读取属性 findOne of undefined”

mobx中的数组需要注意的地方

登录到控制台而不是减速器操作中的代理对象时如何查看状态?

关闭对象引用不可用的控制器或应用程序的警报视图..!

查看控制器 - 来自文档的建议