你怎么从clojurescript引用javascript这个关键字?

时间:2012-09-07 02:31:06

标签: clojurescript

我将一些ClojureScript代码与一个带有回调函数的JS库调用集成在一起。 JS库使用JavsScript"这个"将数据传递给回调。关键字。

我可以使用它来工作(js *"这个")。例如:

(libraryCall (fn [] (.log console (js* "this"))))

有没有办法进入"这个"来自ClojureScript的上下文而不依赖于js *?

1 个答案:

答案 0 :(得分:16)

使用内置的this-as宏。它需要一个名称和一个正文,并使用绑定到JavaScript this的名称来评估正文。

e.g。

(libraryCall (fn [] (this-as my-this (.log js/console my-this))))

很棒的问题......不得不深入研究编译器代码才能找到它,它根本没有得到很好的宣传。

我会把它添加到书中。