2010-07-01から1ヶ月間の記事一覧
Twitter だとちょっと厳しいので、こっちでまとめ。MobileWebKit に対応しようと思ったら、コードをなんとかして削る必要があります。 AND 演算子 で 4byte 削る(10byte → 6byte) if (a) { b(); } ↓ a && b(); OR 演算子 で 5byte 削る(11byte → 6byte) if (…
localStorage.removeItem() 以外にも、localStorage.setItem(); や localStorage[key] = value; でも落ちるようです(コメント欄参照) <input id="A" type="text" value="" /><script>localStorage.removeItem(A.value)</script> 上記のコードをIE8で実行すると、タブクラッシュ → 復元 → タブクラッシュ → 復元機能…
uupaa.js version 0.8 に uuCanvas.js の最新版相当の機能をマージしました。IE なら VML, Silverlight3+, Flash9+ のいずれかでレンダリングを行い、それ以外のブラウザでは<canvas>でレンダリングします。 Flash や Silverlight が利用できない場合でも VML でレン</canvas>…
気になったのでとってみたけどあまり意味が無いベンチになりました。fn.call(null) って速いのね。 Browser fn.call(null) fn.call(this) fn.call(window) (function(){fn()} Fx3.6 1162 5911 3630 6432 IE8 937 1010 1073 2338 IE6 2833 2447 2578 5093 GC6…
できるだけCSSに似せた形でスタイルを記述し、プログラム的にテストなんか出来たらなぁ〜、とか考えてました。 (function() { // --- 識別子 --- var red = "#f00"; var absolute = "absolute"; var url = function(val) { return val; }; var rgba = functi…
(ε・﹏・)з キノウ 13時間灼熱バスツアー イッテキタヨ (ε・﹏・)з アリエッティ ココ ニ スンデル ラシイヨ http://www.seibien.jp/ (ε・﹏・)з アリエッティ ドコ? ミツカラナイヨ イドウ (ε・﹏・)з カイダン デ ダイギョウレツ. 1ダンススムノニ 1プン カカル (ε・﹏・)з ムンムンムラムラ セナカ 滝汗 (36℃) (ε・﹏・)з 40〜50プンマタ…
IE8 で以下のページを表示し開発者ツールで[デバッグ]を開始すると debugger; の位置で自動的に停止します。 # debugger はハードブレイクポイントです。大抵のブラウザで利用可能です。 <html><head><title></title> <style> div { border: 1px solid gray; width: 200px; height: 200px } </style> <script> w</head></html>…
<script>document.createStyleSheet().addRule("*>*", "color:red");</script> このようなコードが埋め込まれたページをIE6で開くと、10数秒でメモリとswapを食い尽くします。PCが「ぎゃふん」って言うので、気をつけてください。 何も作業していない(再起動OKな)状態で実行す…
2年ぶりにCSSセレクタを書き直しました前回との違いは 前作の精度を98点とすると今回は96点ぐらい。W3Cの意地悪テストを幾つかスキップ コード量が半分に。実行速度はほぼ同じ jQuery拡張, :active, :visited は非サポート(:visited は空の配列を返す) W3Cの…
JIT搭載ブラウザでは a = a; など同じ変数に対する代入を繰り返しても遅くならず、JIT非搭載ブラウザだと a = a; で遅くなります。 JIT非搭載 Browser a=a nop Firefox3 1177 666 IE8 2036 1265 IE6 4291 3406 JIT搭載 Browser a=a nop Firefox3.6 236 234 S…
CSSセレクタの話題って1年半ぶりぐらい。 知らない間に CSS3 Selectors Level 3が出てたので、tokenizer を書いてみました。 (function() { window.tokenizer = tokenizer; var _A_TAG = 1, // E _A_COMBINATOR = 2, // E > F _A_ID = 3, // #ID _A_CLASS = …
追記 http://jsdo.it/uupaa/u0QX に最小化したコードを載せました 今回のケースでは、条件(1)と(2)を満たす場合に、どんどん重くなっていくようです。 function bench() { // (1) nodeList を関数内部で毎回取得している var nodeList = document.getElement…