2016-04-15 75 views
2

假设我有以下HTML文档元素和DOM被加载:ClojureScript中单引号标识符和双引号之间的区别是什么?

<ul id='myUnorderedList' /> 

当我的Clojure

(def my-element (.getElementById js/document 'myUnorderedList')) 

运行下面的代码的my-element值是nil

但这个工程:

(def my-element (.getElementById js/document "myUnorderedList")) 

my-element#object[HTMLUListElement [object HTMLUListElement]]值。

(def my-element (.getElementById js/document "myUnorderedList")) 

我的问题是:是什么单引号标识符和双引号在ClojureScript之间的区别?

回答

5

Clojure和ClojureScript中没有单引号标识符。要创建一个字符串,你必须使用双引号(比如在JavaScript中,你可以使用双引号,只要开始和结束引用匹配)。

您使用'myUnorderedList'创建的内容是符号myUnorderedList',因为符号是使用前导单引号创建的。 您可以在这里阅读更多关于符号的信息:

http://clojure.org/reference/data_structures#Symbols

相关问题