ClojureScript 基本语法
2013-04-07 13:29
225 查看
(ns example.hello) ; 命名空间 (.log js/console "Hello from ClojureScript!") ; js为windows (.log js/console "TestAuthor: snake") ; 变量 (def foo "bar") (defn abc [] (let [bar 1]) (.log js/console bar)) (def ^:dynamic x 5) ;直接根目录绑定x (binding [x 10] (.log js/console x)) ; 执行时的函数区域内的x变量 (.log js/console x) ; 数组 (def aArray (array 1 2 3)) (.log js/console aArray) ; 对象 (def o (js-obj "foo" 1 "bar" 2)) (.log js/console o) ; 列表 集合 向量 映射 都是是这样的形式 关键字替换或者字面量替换 (def l1 (list 4 5 6)) (def l2 '(7 9 8)) (.log js/console l1 l2) (def v [1 2 3 4 5 6]) (conj v 0) (.log js/console v) (.log js/console (nth v 0)) ; 提取序列第零个 ; 可选参数 (defn foo [a b c] c) (.log js/console (foo 1) (foo 1 2 3)) ; 分发 (defn foo1 ([a] 1) ([a b] 2) ([a b c] 3)) (.log js/console (foo1 1) (foo1 "a" "b") (foo1 "a" 1 "b"))
直接上一点代码,个人感觉学会这些基本上可以开始写cljs了。
对于cljs的理解就是,用Clojure的语法来实现来应用到js里面。可以配合很多。比如说我经常使用的前端框架组合:SeaJS+Backbone+Underscore+jQuery+Knockout,还包括一点语法糖:CoffeeScirpt。这次包含cljs,想必肯定会令前端工程更加有力量。
cljs的特点应该是Clojure赋予它的语法,遍历啊,数据结构啊,当然了,思想上是更可靠的。
有一点需要具备的,我感觉,如果不是很js的话,感觉会被绕晕,而不知道自己在写什么东西。不知道cljs学的人会不会很多。毕竟很多人觉得脱裤子放屁。个人觉得真心可以使用。而且甚至可以脱离Clojure,想CoffeeScript那样来使用。因为使用了clojure就是在内部实现了一套SeaJS框架。种种好处是越写越感觉到。当然了。虽然是函数式风格,cljs还是对OO做了一点兼容,虽然是一点,但是比js内部支持的还要强大。
相关文章推荐
- Java Script基础(二) 基本语法
- Clojure教程-基本语法
- flash ActionScript 基本语法回顾
- Clojure - 基本语法
- clojure-基本语法-数字类型
- clojure-基本语法-字符串类型
- clojure-基本语法-函数定义
- clojure-基本语法-流程控制(一)
- Java Script基础(二) 基本语法
- clojure-基本语法-符号及关键字
- Clojure教程-基本语法-01
- clojure-基本语法-流程控制(二)
- clojure-基本语法-集合(一)
- clojure-基本语法-函数定义
- clojure-基本语法-集合(三)
- clojure-基本语法-集合(二)
- JavaScript01_基本用途和语法
- plsql回顾(1 基本语法,循环)
- oracle 存储过程的基本语法
- javascript 基本语法