【发布时间】:2013-03-17 19:34:44
【问题描述】:
我正在使用 ClojureScript 检索电池电量:
navigator.battery.level
在使用简单和空白优化时效果很好。但是当使用高级优化模式时,上面会变成:
navigator.hd.rd
并且由于 navigator.hd 未定义而导致 TypeError。
我该如何解决这个问题?
编辑:
感谢下面的回答。虽然在 ClosureScript 中我不得不做一些讨厌的、嵌套的、agets ......所以我想出了这个:
(defn jget [jobject & props]
(loop [obj jobject
p (map name props)]
(if (not (empty? p))
(let [prop (aget obj (first p))]
(recur prop (rest p)))
obj)))
然后这样称呼它:
(jget js/navigator :battery :level)
如果已经有这方面的工具,请告诉我。
【问题讨论】:
标签: google-closure-compiler clojurescript navigator