使用控制台查看对象的可用方法?
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']
【讨论】:
以上是关于使用控制台查看对象的可用方法?的主要内容,如果未能解决你的问题,请参考以下文章