节流函数&防抖函数 柯里化函数

/*
onscroll
onresize
input
。。。。。


节流函数
让高频率事件进行减少触发变成低频率事件

var bStop = true;
window.onscroll = function() {
if(!bStop){
return;
}

bStop = false;
setTimeout(()=>{
var t = document.documentElement.scrollTop || document.body.scrollTop;
console.log(t);
bStop = true;
},300)
}

函数防抖
当高频率事件触发的时候 我们不需要知道频繁触发的过程,只需要知道最后的结果
*/
var timer = null;
window.onscroll = function(){
if(timer){
clearTimeout(timer);
}

timer = setTimeout(()=>{
var t = document.documentElement.scrollTop || document.body.scrollTop;
console.log(t);
},300)
}
</script>

/*
惰性函数 和 柯里化函数

*/

function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr]
}else{
return getComputedStyle(obj,false)[attr];
}
}


function getStyle(obj,attr){
if(obj.currentStyle){
getStyle = function(obj,attr){
return obj.currentStyle[attr];
}
}else{
getStyle = function(obj,attr){
return getComputedStyle(obj,false)[attr];
}
}
return getStyle(obj,attr);
}

原文地址:https://www.cnblogs.com/carolavie/p/9750732.html