【问题标题】:How to override object's display name in DevTools console?如何在 DevTools 控制台中覆盖对象的显示名称?
【发布时间】:2011-09-05 07:16:25
【问题描述】:

我正在使用 Dean Edwards 的 Base.js 库在 javascript 中提供 OOP。它创建的对象在 Chrome 的控制台中看起来像“klass.proto.constructor”。是否可以覆盖其显示名称以显示人类可读的标签,如“MyClass”等。

我认为可以通过玩 toString 属性来实现,但我不知道该怎么做。

【问题讨论】:

    标签: javascript debugging constructor google-chrome-devtools base


    【解决方案1】:

    在 Chrome 控制台中,不会调用对象的 toString。取而代之的是对象结构的交互式表示。

    查看我对类似问题的回答:

    https://stackoverflow.com/a/31351527/2482570

    【讨论】:

      【解决方案2】:

      如果我没记错的话,你会设置

      Your_object.prototype.toString = function() {
          return "MyClass"; /* or whatever */
      }
      

      如果您需要定期对从 Base.js 返回的所有对象执行此操作,则必须修补库:(

      【讨论】:

        猜你喜欢
        • 2012-02-26
        • 2021-09-12
        • 1970-01-01
        • 2014-03-06
        • 1970-01-01
        • 1970-01-01
        • 2011-05-27
        • 1970-01-01
        • 2017-07-10
        相关资源
        最近更新 更多