天天看點

前端javascript練習題之閉包案例

  前端javascript練習題之閉包案例,編寫一個求和函數sum,使輸入sum(2)(3)或輸入sum(2,3),輸出結果相同

可以傳入多個參數

function sum(){

var num = arguments[0];    

if(arguments.length==1){       

return function(sec){           

    return num+sec;       

        }    

    }else{        

    var num = 0;        

    for(var i = 0;i<arguments.length;i++){           

        num = num + arguments[i];        

        }   

        return num;    

    }

}
           

遞歸----深拷貝

function deepCopy(obj){

if(Array.isArray(obj)){

                var newobj=[];

            }else{

                var newobj={};

            }

            

            for(var i in obj){

                if(typeof obj[i]=="object"){

                 newobj[i]=deepCopy(obj[i]);

                    

                }else{

                    newobj[i]=obj[i];

                }

            }

            return newobj;

        }
           

定時器案例

循環列印5,6,7,8,9,10,9,8,7,6,5,6,7…循環輸出

var a=4;

var b=1;

    setInterval(function(){

        a=a+b;

        if(a==10){

            b=-1;

        }else if(a==5){

            b=1;

        }

        console.log(a);

    },500);
           

繼續閱讀