コードを削る

Twitter だとちょっと厳しいので、こっちでまとめ。

MobileWebKit に対応しようと思ったら、コードをなんとかして削る必要があります。

AND 演算子 で 4byte 削る(10byte → 6byte)

if (a) {
  b();
}
   ↓

a && b();

OR 演算子 で 5byte 削る(11byte → 6byte)

if (!a) {
  b();
}
   ↓

a || b();

ドット演算子以降を自力で Minify する

JavaScriptは動的な言語なので、ドット演算子以降は基本的に minify しても圧縮されません。

document.createElement("div");
document.createElement("a");
document.createElement("p");

   ↓ このままだと、minify しても縮まらない

document.createElement("div");document.createElement("a");document.createElement("p")

ドット演算子によるアクセス( Object.property )は、Object["property"] のシンタックスシュガー(糖衣構文)です。
これらは、同じ処理速度でほぼ同じ価値を持ち、見た目がちょっと違うだけ(ドット演算子は制限も多いけど)。
そこで minifier が処理しやすいように、シンタックスシュガーを解除すると

var doc = document, createElement = "createElement";

doc[createElement]("div");
doc[createElement]("a");
doc[createElement]("p");

   ↓ minify

var a=document,b="createElement";a[b]("div");a[b]("a");a[b]("p")

この辺が最大の削りポイントですが、調子こいてやり過ぎるとコードがみるみる汚くなります。
ライブラリ書くのって大変ですね。