【问题标题】: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 方法
  • @juco - 很酷,谢谢。不过,我想你不知道有什么方法可以只看到非数组原型方法?

标签: javascript browser console inspection


【解决方案1】:

你可以使用

console.dir(myArray);

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

(来自https://stackoverflow.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']
    

    【讨论】:

      猜你喜欢
      • 2017-10-23
      • 2013-09-21
      • 2012-02-26
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多