JavaScriptで文字列を結合するハナシ(これで何回目?)

プラス記号を使わずに文字列を結合した〜い。はせがわさんややまがたさんによるevalを使って文字列を結合させる方法に刺激を受けまして、この方向性で手法を拡張したく思いました。ただし、eval, setTimeout, setInterval, Function, constructor , expression(styleの),execscriptなど、実質的にevalを実現できる文字列を明示的に含まないようにです。 今回はDOM操作も我慢しようと思いますのでwindowやdocumentといった文字列を含む記述を禁止かな?今考えているのは、HTMLのscript要素に含まれている形でなんとかできまいかと。 つらいのは、プラス記号を使わないのになんとかして上の複数の文字列のどれかを偽造して実質的にevalこと。ほぼ出来上がったので、デッサンを書いてみます。…IEでうまくいかないんですよねぇ。理由はわかりますけど。

var a, os, ou;
a = "alert(99)";
os = { setTimeous : 0 };
ou = { setTimeouu : 0 };
for (var u in ou) {
for (var s in os) {
for (var t in this) {
if (t > s && t < u) {
(this[t])(a,500)
}
}
}
}
というわけで、setTimeout が windowオブジェクトのメソッドなので呼び出してやろうと。this はグローバルスコープなのでwindowオブジェクトを指し示していると。で、その子供をぐるぐるまわしてos とouとで挟み撃ちしてやればいいのかなぁと。これならsetTimeoutを明示しないで使えませんか?自分の中ではちょっと新しいやりかたです。
なんか今日は日記の量が多いので書き込む時間がなくなってしまいました。以上、書きかけ編集中です。