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

Posted carolavie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了节流函数&防抖函数 柯里化函数相关的知识,希望对你有一定的参考价值。

/*
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);
}

 



















































以上是关于节流函数&防抖函数 柯里化函数的主要内容,如果未能解决你的问题,请参考以下文章

JS的防抖,节流,柯里化和反柯里化

函数式编程:纯函数&柯里化&组合函数

节流和防抖

Scala 系列—— 函数 & 闭包 & 柯里化

从 ES6 高阶箭头函数理解函数柯里化

柯里化与反柯里化