プラス記号を使わずに文字列を結合する。(hoshikuzu | star_dust の書斎)

http://d.hatena.ne.jp/hoshikuzu/20090318#p2
プラス記号は表記してないだけで使ってることに変わりないのでこれはダメですね。

strC = eval( decodeURIComponent("strA%2BstrB"));
strC = eval( "strA\x2BstrB" );


これはJavaScriptの枠組みを超えてるのでやっぱりダメですね。

var d = document; var p = d.createElement("pre"); p.appendChild( d.createTextNode(strA) ); p.appendChild( d.createTextNode(strB) ); strC = p.innerHTML;


これが本命。とりあえず、Firefox だけですが…。

strC = (<s>{strA}{strB}</s>).toString();


(2009-03-25追記)id:hoshikuzuさんに「innerHTML 使っちゃらめぇ。」って言われたので。IE専用。

var d = document;
var s = d.createElement( "script" );
s.language = "vbscript";
s.text = "function foo(a,b)\r\nfoo=a & b\r\nEnd Function";
d.getElementsByTagName( "head" )[ 0 ].appendChild( s );
strC = foo( strA, strB );