IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

2006-01-01から1ヶ月間の記事一覧

Prototype.js 1.5.0_pre0

最新が 1.5.0_pre0 になってたので調査 (自分用のメモなので読みにくくてもゴメンなさいってことで) Prototype.js 1.4.0 からの変更点 CHANGELOG より String.prototype.truncateを追加 String.prototype.gsub, String.prototype.sub, String.prototype.scan…

JavaScript のデバッグ方法

みなさんはどんな環境で JavaScript のデバッグを行っていますか? 僕は以下のようなものを使っています。 Venkman JavaScript Debugger(Firefox) Microsoft Script Editor(Internet Explorer) DOM Inspector(Firefox) Web Developer(Firefox) Developer Too…

複雑で重くなった JavaScript を超超ちょ〜〜〜高速化する方法。

前回(id:amachang:20060104)の改良版です。前回のでやっていたら、queueを走査する時間がかかりすぎるようになって結局崩壊してしまったので、さらに改良しました。ただし、今回のは時間が多少ずれる場合があります。なので、ストップウォッチなどのプログラ…

Prototype.js および Script.aculo.us をけっこう高速化する方法

$A $A という関数を使うと、Array もどきオブジェクト(NodeList や Arguments など)を Array オブジェクト化することができる。便利だが、この関数を Enumerable インタフェースを実装するために使用するのは、あきらかにおかしい。 そこで、以下のようなも…

for 文 2.0(笑)

まぁ、かなり知られてる話ですが JavaScript は .(ドット) の計算がかなり遅い。まぁ、簡単なスクリプトなら問題にならないが。web2.0的には大違いなのであります。ちなみに、.(ドット) の計算に比較演算の 3 倍のコストがかかる(IEはとくに)。ということ…

Prototype.js の気に食わない箇所をアスペクト指向っぽくなおす

ライブラリに手を加えたくないけど、動作を変えたい。そんなときは、アスペクト指向ちっくになおしましょう♪ Ajax.Request の setRequestHeaders は Content-type をこちら側で設定できなくて不便である。XML-RPC するときなどは Content-type を text/xml …

各種JSライブラリのグローバル書き換え状況

先日、JS O Lait と Prototype.js が両方とも Class オブジェクトを作っていて、一緒に使えないとわかったので。各種ライブラリがどのくらいグローバルな情報をクラックしているかの調査しました。↓結果 Prototype.js(1.4.0) window Prototype Class Abstrac…

Script.aculo.us 1.5 の Autocompleter を Opera、Netscape に対応させて、日本語入力にも対応させて、ちょっとだけ高速化する方法

このコードを Script.aculo.us を読み込んだ後に読み込む。 // Script.aculo.us 拡張 Object.extend(Autocompleter.Base.prototype, { // for Opera ___pressReturn : false, // for Opera & Japanese // もとのコンストラクタを退避させる ___grandBaseInit…

複雑で重くなった JavaScript を超高速化する方法。

以下のスクリプトを他のすべてのスクリプトよりも前に読み込む。 var nativeSetInterval = window.setInterval; _setInterval = {}; window.setInterval = function(process, delay) { var entry; if(typeof process == 'string') { entry = new _setInterva…