クロージャコンパイラは関数をインライン化しますが、その関数がインライン化されていない場合、コードサイズは小さくなります(私はコードサイズのみを気にします-これはJS1k用です)。その関数をインライン化したくないことをコンパイラーに伝えることはできますか?
編集:もう少し説明するために、ここに私の関数があります:
function lineTo(x,y) {
a.lineTo(x,y);
}
a
キャンバスコンテキストのどこ。コードには非常に多くa.lineTo
のが含まれているため、この関数を使用する価値があります。このように、私のコードは1019バイトです(そしてすべてのlineTo
sはに置き換えられa.lineTo
ます)。関数を次のように変更した場合:
function lineTo(x,y) {
a.lineTo(x,y);
console.log();
}
新しい行はどういうわけかコンパイラにこの関数をインライン化しないように強制します。これにより993バイトが得られます。したがって、私が取り除くことができれば、console.log();
さらに14バイト節約できます。