2010-01-01から1ヶ月間の記事一覧
obj.watch("prop", function (id, older, newer) { console.log(id, older, newer, arguments.callee.caller); return newer; });obj.propに値を代入してる関数を調べるテクニックの紹介。 下のスクリプトはFC2Blogではてな記法を使えるようにする(デバッグ…
The Game Of Lifeに置いた。FirefoxとOperaではfaviconを動的にセットできるが、Safariでは不可能。 単にhrefを変えれば良いというものではなく、appendChild等でDOMツリー上の位置を現在のfaviconより下?にしなければ認識されない。 <html> <head> <title>The Game Of Life</title> </head></html>
そういえばこういうのまともに書いたことないなと思って練習がてらJSONのシンタックスが正しいか判定する関数を作った。 だいたいhttp://www.ietf.org/rfc/rfc4627.txt?number=4627: JavaScript Object Notation (JSON)に沿って書いた。 minus記号を判定する…
WebKitにrubyタグのレンダリングのサポートが入ったので、新聞社のサイトなどで狡猾(こうかつ)な犯行などと書いてあるものをrubyタグで包むスクリプトを書いた。 // console.time("benchmark"); var r = document.evaluate( './/text()[contains(., "(")]…
canvas thisに置いた。 JavaScriptの部分は下記の通りで、テトリスの画面の二次元配列とブロックの二次元配列を保存して、画面の上にブロックを重ねるように描画するというごく普通の実装。 画面の端を壁にしておくことで、はみだしチェックなどを省くことが…
JavaScriptによる自動生成迷路に置いた。 function rand(n) { return Math.floor(Math.random() * n); } const width = 33, height = 33; var wall = (1 << (width - 2)) - 1 << 1; var table = [1 << (width - 2)]; var stripe = 0; var i, j; for (i = 1; …
ES5のObject.getOwnPropertyNamesが入った。これは何をするメソッドかと言うと、enumerableでないプロパティを含めて全てのプロパティを列挙する物である。 つまり、 alert(Object.getOwnPropertyNames(Array.prototype).join("\n")); /* length,constructor…