柯里化
function curry(fn) {
let allArgs = []
return function next() {
let args = [].slice.call(arguments)
if(args.length > 0) {
allArgs.concat(args)
return next
}else {
fn.apply(null, allArgs)
}
}
}
对象的深拷贝
function deepClone(obj){
var newObj= obj instanceof Array ? []:{};
for(var item in obj){
var temple= typeof obj[item] == 'object' ? deepClone(obj[item]):obj[item];
newObj[item] = temple;
}
return newObj;
}
once函数,只执行一次
function ones(func){
var tag=true;
return function(){
if(tag==true){
func.apply(null,arguments);
tag=false;
}
return undefined
}
}
私有变量
function product(){
var name='yuxiaoliang'
this.getName=function(){
return name
}
}
var obj=new product()