让LightTable显示javascript对象的详细信息

时间:2014-05-08 06:55:11

标签: javascript clojure clojurescript lighttable

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

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

希望这有帮助!