- 对象深拷贝
使用Object.assign(obj2,obj1)将obj1中
function depCopy(target, source) {
for(let key in source){
let sourceValue = source[key];
if(sourceValue instanceof Object){
let subTarget = new sourceValue.constructor;
target[key] = subTarget;
depCopy(subTarget, sourceValue);
}else{
target[key] = sourceValue;
}
}
}
- 函数防抖
function debounce(fn, delay) {
let timerId = null;
return function () {
let self = this;
let args = arguments;
timerId && clearTimeout(timerId);
timerId = setTimeout(function () {
fn.apply(self, args);
}, delay || 1000);
}
}
- 函数节流
function throttle(fn, delay) {
let timerId = null;
let flag = true;
return function () {
if(!flag) return;
flag = false;
let self = this;
let args = arguments;
timerId && clearTimeout(timerId);
timerId = setTimeout(function () {
flag = true;
fn.apply(self, args);
}, delay || 1000);
}
}