JavaScript ってこんなことできるんだ〜。すげーー!!

function MyArray(o){
    function F(){}
    F.prototype = o;

    F.prototype.find = function(templateFunction){
        var l = this.length;
        var result = '';
        
        for (var i = 0 ; i < l ; i++) {
            if (templateFunction(this[i]) == true){
                result = this[i];
                break;
            }
        }
        return result
    }

    return new F();
}

function getMyFind(value){
    return function(item){
        return item == value + value;
    }
}

var a = MyArray(new Array());

a.push('11');
a.push('22');

alert(a.find(getMyFind('2')));