如何在ClojureScript中创建全局对象,并将字符串和函数附加到该对象?

时间:2015-06-10 04:19:56

标签: clojure clojurescript

如何在ClojureScript中创建附加到window的全局对象,并将字符串和函数附加到该对象?

例如,myobject看起来像:

{"foo": function () {..},
 "bar": "somestring"}

myobject.foo => function () { .. }

myobject.bar => "somestring"

2 个答案:

答案 0 :(得分:1)

我不完全确定你为什么需要这个,但它与Javascript版本非常相似:

{:foo (fn [] ...)
 :bar "something"}

(:foo my-object) => (fn [] ...)
(:bar my-object) => "something"

Clojure和Javascript版本之间存在一些重要差异

  1. Clojurescript地图是不可变的。
  2. 没有this引用指向函数体中的“对象”。 Clojure地图不是对象,它们是键值对。

答案 1 :(得分:1)

这是生成附加到窗口的对象的JavaScript。 它有太多的属性。 .row-error { color: red !important; } 这是一个函数,foo是一个字符串。

.bar