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

时间:2013-03-06 14:18:00

标签: javascript browser console inspection

有什么方法可以使用控制台查看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对象。

2 个答案:

答案 0 :(得分:7)

您可以使用

console.dir(myArray);

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

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

答案 1 :(得分:1)

如果您使用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']