【问题标题】:Let LightTable show javascript object details让 LightTable 显示 javascript 对象的详细信息
【发布时间】:2014-05-08 06:55:11
【问题描述】:

如何让 LightTable 内联显示 JavaScript 对象的详细信息?

目前,我正在评估 LightTable 中的 ClojureScript 表单,并使用脚本标签连接到外部浏览器。评估表单时,表单返回[object Object]作为评估结果,我想看看这个对象的内容。

【问题讨论】:

    标签: javascript clojure clojurescript lighttable


    【解决方案1】:

    [object Object] 是 Javascript 对象的默认字符串表示。不幸的是,JS 对象比 Clojure(script) 数据结构更不透明。有几种方法可以改善这种情况,但没有一种方法是完美的。

    您可以覆盖对象或其原​​型的 toString() 方法并返回自定义格式。当 LightTable 尝试打印对象时,这实际上会改变格式。您使用标准 JS 互操作更改方法,例如:

    (set! (.-toString o) (fn [obj] "some text"))
    

    检查对象的方法有很多种,您可以使用这些方法获得所需的格式。请参阅此问题以获取灵感:How to inspect Javascript Objects

    如果您正在为浏览器开发,另一种方法是简单地将对象记录到控制台。根据您使用的浏览器,您可能会得到比标准描述更详细的描述。

    (defn log [o]
        (.log js/console o))
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 1970-01-01
      • 2016-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多