如何使LightTable内联显示JavaScript对象的详细信息?
目前,我正在使用脚本标记与外部浏览器连接来评估LightTable中的LightTable表单。在计算表单时,表单返回[object Object]作为计算结果,我希望看到这个对象的内容。
发布于 2014-07-04 22:12:39
对象对象是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))希望这能有所帮助!
https://stackoverflow.com/questions/23534828
复制相似问题