1

スペースを節約するために、コード内の関数に大量のエイリアスを作成しました。FF では問題なく動作しますが、現在 IE のサポートを追加しようとしていますが、満足していません。

j=String;
f0=j.fromCharCode;
j=j.prototype;
j.f1=j.indexOf;
j.f2=j.lastIndexOf;
j.f3=j.concat;
j.f4=j.substring;

function alias(c,e){return function(){return c[e].apply(c,arguments);};}

w=window.location;
d=document;
b=document.body;
f5=alias(d,"createElement");
f6=alias(b,"appendChild");
f7=alias(d,"getElementById");
...etc

alias() 関数が IE で機能しないことは確かです。両方のブラウザで機能する別の方法はありますか?

4

1 に答える 1

2

これは、あなたの質問に直接答えない回答の 1 つですが、役立つと思います。

すべての短い変数とエイリアスを使用せずにコードを記述する必要があります。保守がはるかに簡単になるため、完全な形式で記述してください。

次に、コードを本番環境に移行するときに、エイリアスと変数の短縮を行うミニファイアーを介してコードを配置します。

次の 2 つのいずれかを試してみてください (他にもたくさんの優れた機能があります)。

  1. Google クロージャ コンパイラ
  2. Dean Edwards Packer (「変数の縮小」をオンにする)
于 2010-01-23T00:11:17.480 に答える