MANA-DOT

PIXEL ART, PROGRAMING, ETC.

IEのdocumentオブジェクト

amachangさんのこの記事

一行で IEJavaScript を高速化する方法 - IT戦記 http://d.hatena.ne.jp/amachang/20071010/1192012056 /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。

が5年前の記事だというのに昨日はてなブックマークのホットエントリ入りしていました。

なぜか虫の居所が悪かった僕は、はてなブックマークのコメントに

これ5年前の記事だから今のIEに対しても当てはまるかは少なくともこの記事からは確証とれないけど、今ブクマしてる人はそれ理解してるよね?特にプロパティアクセスなんてJSでも盛んに高速化されているのに http://b.hatena.ne.jp/manaten/20121010#bookmark-114595974

とやたら攻撃的なコメントをつけました。 正直IEがいくら評判悪いとはいえ、5年間でバージョンアップしているし、JavaScriptの高速化なんてかなりHOTな分野なので、この程度のことの改善はとっくにしてあるだろうと考えていたのです。そこで実際のところどうだろうと思ったので、テストしてみました。

続きを読む

JavaScriptのthisについて – new演算子とコンストラクタ

前回の記事では、 慣れないことをしたため、文体がやや硬くなってしまい、あとから見ると読みにくく感じた。あと、こういう文章を書くときは最後にまとめを書くべきだなとも思ったので、ここで書いておこう。

箇条書きでまとめると、JavaScriptのthisとは、

  • 関数呼び出しがobj.method() という形式の場合、objである。
  • そうでなく、単にfunc() という呼び出しである場合、グローバルオブジェクトである。

という非常にシンプルなものであった。基本的には、このルールがクロージャなどの他の概念とともに表れ、理解を妨げているのだと思う。

続きを読む