如何使 LightTable 内联显示 JavaScript 对象详细信息?
目前,我正在评估 LightTable 中的 ClojureScript 表单,并使用脚本标签连接到外部浏览器。评估表单时,表单[object Object]
作为评估结果返回,我想查看这个对象的内容。
如何使 LightTable 内联显示 JavaScript 对象详细信息?
目前,我正在评估 LightTable 中的 ClojureScript 表单,并使用脚本标签连接到外部浏览器。评估表单时,表单[object Object]
作为评估结果返回,我想查看这个对象的内容。
[object Object] 是 Javascript 对象的默认字符串表示。不幸的是,JS 对象比 Clojure(script) 数据结构更不透明。有几种方法可以改善这种情况,但没有一种方法是完美的。
您可以覆盖对象或其原型的 toString() 方法并返回自定义格式。当 LightTable 尝试打印对象时,这实际上会改变格式。您使用标准 JS 互操作更改方法,例如:
(set! (.-toString o) (fn [obj] "some text"))
有各种方法可以检查对象,您可以使用这些方法来获得所需的格式。请参阅此问题以获取灵感:如何检查 Javascript 对象
如果您正在为浏览器开发,另一种方法是简单地将对象记录到控制台。根据您使用的浏览器,您可能会得到比标准描述更详细的描述。
(defn log [o]
(.log js/console o))
希望这可以帮助!