[JavaScript]ユニークIDを発行する関数を生成する

var Uuid = (function () { var i=0; return function () { return ++i; }; })();

さらにeval,String.replaceと組み合わせて

var params = ["hoge", "fuga", "aaa"];
Class = function () {};
Class.reflection = function (classname, params) {
    var args = [];
    for(var i=0; i < params.length; i++) args.push("params[%d]");
    return eval("new " + classname + "(" + args.join(",").replace(/%d/g, (function () {
        var i=0; return function () { return i++; };
    })()) + ")");
}
var a = Class.reflection("Array", params);

クラス名文字列とパラメータの配列からクラスを生成するリフレクション
Function.bindを利用しても同じことはできるけど、IEなどで使えない場合にはこれが使える。

コメントをどうぞ