小编Ste*_*lka的帖子

为什么在clojurescript中使用nth会使我的代码增加74026%

我一直在比较由clojurescript中的各种调用输出的生成的javascript,感觉就像踩着地雷.有些生成极其可读(甚至是缩小的高级模式)javascript,有些人认为这一个方法调用将需要看起来像clojure中运行的每个可能方法.

nth vs aget就是一个非常好的例子.这两个代码片段都输出数字5,但是一个需要77个字节来完成它而另一个需要57千字节.多达74026%

57 KiloBytes - nth

(ns fooModule)
(let [log js/console.log
    x (array 5)]
    (log (nth x 0)))
Run Code Online (Sandbox Code Playgroud)

77字节 - 年龄

(ns fooModule)
(let [log js/console.log
    x (array 5)]
    (log (aget x 0)))
Run Code Online (Sandbox Code Playgroud)

aget生成的代码非常易读.(手工格式化)

;(function(){
    var a=console.log,
        b=[5];
    a.a ? a.a(b[0]) : a.call( null, b[0] );
})();
Run Code Online (Sandbox Code Playgroud)

在一个要点中生成第n个代码https://gist.github.com/trashhalo/7781298 \

clojurescript 0.0-2014

javascript clojure clojurescript

7
推荐指数
1
解决办法
300
查看次数

标签 统计

clojure ×1

clojurescript ×1

javascript ×1