(cljs/run-at (->JSVM :browser) "语言基础")

阅读更多
全文连接[url]http://click.aliyun.com/m/23606/  [/url]

前言
 两年多前知道cljs的存在时十分兴奋,但因为工作中根本用不上,国内也没有专门的职位于是搁置了对其的探索。而近一两年来又刮起了函数式编程的风潮,恰逢有幸主理新项目的前端架构,于是引入Ramda.js来疗藉心中压抑已久的渴望,谁知一发不可收拾,于是抛弃所有利益的考虑,遵循内心,好好追逐cljs一番:D
 cljs就是ClojureScript的缩写,就是让Clojure代码transpile为JavaScript代码然后运行在浏览器或其他JSVM上的技术。由于宿主环境的不同,因此只能与宿主环境无关的Clojure代码可以在JVM和JSVM间共享,并且cljs也未能完全实现clj中的所有语言特性,更何况由于JSVM是单线程因此根本就不需要clj中STM等特性呢……
 transpile为JS的函数式编程那么多(如Elm,PureScript),为什么偏要cljs呢?语法特别吧,有geek的感觉吧,随心就好:)

 本文将快速介绍cljs的语言基础,大家可以直接通过clojurescript.net的Web REPL来练练手!

注释
 首先介绍一下注释的写法,后续内容会用到哦!

;    单行注释
;;   函数单行注释
;;;  macro或defmulti单行注释
;;;; 命名空间单行注释
(comment "
    多行注释
")

#! shebang相当于;单行注释
#_ 注释紧跟其后的表达式, 如: [1 #_2 3] 实际为[1 3],#_(defn test [x] (println x)) 则注释了成个test函数
数据类型
标量类型

你可能感兴趣的:(编程,javascript,浏览器)