【问题标题】:What's the JavaScript equivalent of Ruby's "inspect"?Ruby 的“检查”的 JavaScript 等价物是什么?
【发布时间】:2010-10-09 20:59:50
【问题描述】:

在 Ruby 中,您可以使用foo.inspect,它几乎可以为任何类型的对象输出一些理智的东西。

如何在 JavaScript 中实现相同的功能?

【问题讨论】:

  • console.log(foo) 有什么问题?
  • 马特的答案是正确的,恕我直言。
  • @MattBall, @AaronGray..console.log 是错误的,因为console.log("1") 和console.log(1) 都将打印相同的输出。无法使用 console.log 识别变量的类型。
  • @rubyprince 确定这是可能的。 console.log(typeof "1", "1") – 你可以为 console.log() 写一个包装器来为你做这件事。
  • 我个人认为,Prototype Object.inspect("1"),与Ruby inspect 类似。我认为console.log 相当于 Ruby 中的puts。

标签: javascript ruby debugging


【解决方案1】:

JSON.stringify(foo) 效果很好。

【讨论】:

  • 这是正确答案,在 ruby​​ 中进行检查是该语言中现成的函数/方法。这个答案最接近那个。
  • 除了看起来难看之外,这通常有效。希望他们在未来版本的 ECMAScript 中改进它。
  • 我来这里是为了寻找替代方案,因为它无法处理 undefined 和 NaN
【解决方案2】:

这可能不是您希望的完全通用的答案,因为这会将第三方依赖项引入您的应用程序。但是,它们值得一提:

  • 对于使用 Prototype (link) 的应用程序,您可以使用 Object.inspect (link)
  • 对于使用 jQuery (link) 的应用程序,有 jquery-inspect (link) 插件

【讨论】:

    【解决方案3】:

    看看这个:

    http://jsclass.jcoglan.com/reflection.html

    这有帮助吗?

    【讨论】:

    • 这个答案只是链接,没有其他信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 2010-11-01
    相关资源
    最近更新 更多