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

标签 clojure clojurescript

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

例如,一个 myobject 如下所示:

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

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

myobject.bar => “somestring”

最佳答案

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

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

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

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

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

关于clojure - 如何在 ClojureScript 中创建全局对象,并将字符串和函数附加到该对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30747042/

相关文章:

dictionary - cond范围内map的使用

clojure - 在Clojure中定义我自己的阅读器宏

clojure - Figwheel 没有检测到我的代码中的大部分更改

clojure - 为什么我不能在 ClojureScript 中访问这个 JS 对象的 Prop ?

clojure - 如何将带样式的 HTML 标签转换为 Hiccup? react 问题

scala - Scala 或库中是否存在与 Clojure 的 diff 等价的应用到 map 的方法?

hadoop - 使用 Cascalog/Cascading 读取 XML

clojure - 如何更新原子中的试剂向量

clojure - "rerootable"纯函数式树形数据结构

macros - Clojure 可变参数宏迭代收集在 & 额外参数中的序列