好程序员web前端教程分享前端javascript练习题之闭包案例

90 阅读1分钟

  好程序员web前端教程分享前端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);