zhufengnodejs / 201508ajax

201508aja预习课
MIT License
1 stars 33 forks source link

12.写一个惰性函数 #15

Open zhufengnodejs opened 8 years ago

renjinhui commented 8 years ago
var fn1=function(){
    return "abc";
};
var fn2=function(){
    return "a123";
};
var fn3=function(){
    return "123";
};

function getFn(){
    var fns=[fn1,fn2,fn3];
    var val=null,fn=null;
    var reg=/^[a-z]\d+$/;
    for(var i=0;i<fns.length;i++){
        var tempVal=fns[i]();
        if(reg.test(tempVal)){
            fn=fns[i];
            val=tempVal;
            break;
        }
    }
    getFn=fn;
    return val+2;
}
console.log(getFn());
console.log(getFn());
console.log(getFn());
xingweiyan commented 8 years ago

邢伟岩

var Max1 =function(){
    return 1
};
var Max2 =function(){
    return 2
};
var Max3 =function(){
    return 3
};

function getMax(){
    console.log("1111111");
    var fns =[Max1,Max2,Max3];
    var max =fns[0]();
    var maxFn =fns[0];
    for(var i=1;i<fns.length;i++){
        if(fns[i]()>max){
            max=fns[i]();
            maxFn =fns[i];
        }
    }
    getMax=maxFn;
    return max;
}
console.log(getMax());
console.log(getMax());
da-panggui commented 8 years ago
 var cue1=function(){
        return 2
    }
    var cue2=function(){
        return 5
    }
    var cue3=function(){
        return 9
    }

    function cues(){
        var ary=[cue1,cue2,cue3];
        var max=cue1(),maxCue=cue1;
        for(var i=0;i<ary.length;i++){
            if(max<ary[i]){
                max=ary[i]();
                maxCue=ary[i];
            }
        }
        cues=maxCue;
        return max;
    }
jingruia commented 8 years ago
function fn1(a,b){
    return a-b;
}
function fn2(a,b){
    return a+b;
}
function fn3(a,b){
    return a*b;
}
function Max(a,b){
var fn=[fn1,fn2,fn3];
    var max=fn[0](a,b),maxfn=fn[0];
    for(var i=0;i<fn.length;i++){
        var val=fn[i](a,b);
        if(val>max){
            max=val;
            maxfn=fn[i];

        }
    }
    Max=maxfn;
    return max;
}

console.log(Max(3,2));
console.log(Max(3,4));
console.log(Max(5,5));
guozimo commented 8 years ago
var a=Math.max(3,4,5);
var b=Math.max(30,40,50);
var c=Math.max(300,400,500);
var Max1 = function(){
 return a;
};
var Max2 = function(){
    return b;
};
var Max3 = function(){
    return c;
};

function getMax(){
    console.log('hahaha');
    var fns = [Max1,Max2,Max3];
    var max=fns[0](),maxFn = fns[0];
    for(var i=1;i<fns.length;i++){
        var val = fns[i]();
        if(val>max){
            max = val;
            maxFn = fns[i];
        }
    }
    getMax = maxFn;
    return max;
}

console.log(getMax());
console.log(getMax());
Liuyundere commented 8 years ago
var Min1 = function(){
    return 1;
}
var Min2 = function(){
    return 2;
}
var Min3 = function(){
    return 3;
}
function getMin() {
    var fns = [Min1,Min2,Min3];
    var min = fns[0](),minFn = fns[0];
    for(var i = 1; i < fns.length; i++){
        var val = fns[i]();
        if(val < min) {
            min = val;
            minFn = fns[i];
        }
    }
    getMin = minFn;
    return min;
}
console.log(getMin());
liuxiaopan commented 8 years ago
function max1(){
    return 1;
}
function max2(){
    return 2;
}
function max3(){
    return 3;
}
function getMax(){
    var arry=[max1,max2,max3]
    var max=arry[0]();
    for(var i=1;i<arry.length;i++){
        if(max<arry[i]()){
            max=arry[i]();
            getMax=arry[i];
        }
    }
    return max;
}
var a=getMax();
var b=getMax;
console.log(a);
console.log(b);
wangwensha commented 8 years ago
var max1=function(){
    return 1;
}
var max2=function(){
    return 2;
}
var max3=function(){
    return 3;
}
function getMax(){
    var ary=[max1,max2,max3];
    var max=ary[0]();
    var maxFn=ary[0];
    for(var i=1;i<ary.length;i++){
        var cur=ary[i]();
        if(cur>max){
            max=cur;
            maxFn=ary[i];
        }

    }
    getMax=maxFn;
    return max;
}
console.log(getMax());
console.log(getMax());
console.log(getMax());
Brolly0204 commented 8 years ago
   function ma1(){
        return 12;
    }
    function ma2(){
        return 23;
    }
    function ma3(){
        return 11;
    }
    function getMax(){
        var fns=[ma1,ma2,ma3];
        var ms=fns[0]();var max=fns[0];
        for(var i=1;i<fns.length;i++){
            var val=fns[i]();
            if(val>ms){
                ms=val;
                max=fns[i];
    }
    }
    getMax=max;
    return ms;
    }