前端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);