1(ns example.hello) ; 命名空間23
(.log js/console "hello from clojurescript!") ; js為windows
4(.log js/console "testauthor: snake")56
; 變數
7(def foo "bar")
8(defn abc
9(let [bar 1])
10(.log js/console bar))
1112
(def ^:dynamic x 5) ;直接根目錄繫結x
13(binding [x 10]
14(.log js/console x)) ; 執行時的函式區域內的x變數
15(.log js/console x)
1617
; 陣列
18(def aarray (array 1 2 3))
19(.log js/console aarray)
20; 物件
21(def o (js-obj "foo" 1 "bar" 2))
22(.log js/console o)
2324
; 列表 集合 向量 對映 都是是這樣的形式 關鍵字替換或者字面量替換
25(def l1 (list 4 5 6))
26(def l2 '(7 9 8))
27(.log js/console l1 l2)
2829
(def v [1 2 3 4 5 6])
30(conj v 0)
31(.log js/console v)
32(.log js/console (nth v 0)) ; 提取序列第零個
3334
; 可選引數
35(defn foo [a b c] c)
36(.log js/console (foo 1) (foo 1 2 3))
3738
; 分發
39(defn foo1
40([a] 1)
41([a b] 2)
42([a b c] 3))
43 (.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內部支援的還要強大。
Android基本Http基本通訊
關於http通訊的其實自己也不是很懂,就是略微知道一些基本的通訊方法 方法1 建立http 客戶端 httpentity entity response.getentity 得到http的內容 response.getstatusline getstatuscode 得到http的狀態返回值 res...
基本形狀 基本 SVG 文件 2
定義和組 如前一頁中定義的多邊形和漸變,預定義項的實際用法通常有兩種形式。在這兩種形式下,定義的項都通過其本地 url 或 uri 引用。象 html 頁面一樣,id 屬性建立了文件中的乙個引用點。舉例說來,這意味著 uri irisgradient 引用標識為 irisgradient 的文件部分...
EMD方法基本基本知識
emd 經驗模態分解 empirical mode decomposition,簡稱emd 方法被認為是2000年來以傅利葉變換為基礎的線性和穩態頻譜分析的乙個重大突破,該方法是依據資料自身的時間尺度特徵來進行訊號分解,無須預先設定任何基函式。這一點與建立在先驗性的諧波基函式和小波基函式上的傅利葉分...