今日分享内容

1、颗粒化: 把固定的东西我们可以使用颗粒化单个传值的方式,以实现像继承的这种东西。

 // 颗粒化function skin(skin) {return function (country) {return function (sex) {return function (age) {return function (name) {return {skin,country,sex,age,name,introduction() {console.log(`我叫${this.name},今年${this.age}岁了,性别:${this.sex},国籍:${this.country},肤色:${this.skin}`);}}}}}}}var yellow = skin('黄色');var singapor = yellow('新加坡');var chinese = yellow('中国');var men = chinese('男');var women = chinese('女');

2、节流防抖:

  1. 防抖: 所谓防抖,就是指触发事件后在 n秒内函数只能执行一次,如果在 n秒内又触发了事件,则会重新计算函数执行时间。
<input type="text" id="input" /> (注:input写在HTML中)function debounce(fn, daly) {// fn是要传入的进行防抖的函数,daly是等待时间。let timer = null;return function () {// 每次都要清除这个定时器clearTimeout(timer);// 重启这个定时器timer = setTimeout(() => {fn.apply(this, arguments);}, daly);}}let index = 0;document.all.input.oninput = debounce(e => {console.log(e);console.log(++index);}, 500);

2.节流: 所谓节流,就是指连续触发事件但是在 n秒 中只执行一次函数。

function throttle (fn, delay) {// fn是要进行节流的函数,delay是等待时间// 利用闭包保存时间let prev = Date.now();return function () {let context = this;let arg = arguments;let now = Date.now();if (now - prev >= delay) {fn.apply(context, arg);prev = Date.now();}}
}function fn () {console.log('节流');
}addEventListener('scroll', throttle(fn, 1000));

筱筱看博客(函数柯里化、节流防抖)相关推荐

  1. 带你看懂javascript函数柯里化(currying)

    1.什么是柯里化 这里参照百度百科: 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技 ...

  2. 【转载】JS中bind方法与函数柯里化

    原生bind方法 不同于jQuery中的bind方法只是简单的绑定事件函数,原生js中bind()方法略复杂,该方法上在ES5中被引入,大概就是IE9+等现代浏览器都支持了(有关ES5各项特性的支持情 ...

  3. 函数柯里化的意义_详解JS函数柯里化

    第一次看到柯里化这个词的时候,还是在看一篇算法相关的博客提到把函数柯里化,那时一看这个词就感觉很高端,实际上当你了解了后才发现其实就是高阶函数的一个特殊用法. 果然是不管作用怎么样都要有个高端的名字才 ...

  4. 深入详解python高级特性——函数柯里化(Currying)与反柯里化

    前言:本章的内容本来很简单,但是涉及到的理论部分相对较多,想要彻底弄懂前因后果需要具备以下几个知识点, (1)python的高阶函数 (2)python的装饰器本质 (3)Python的functoo ...

  5. 从一道面试题认识函数柯里化

    最近在整理面试资源的时候,发现一道有意思的题目,所以就记录下来. 题目 如何实现 multi(2)(3)(4)=24? 首先来分析下这道题,实现一个 multi 函数并依次传入参数执行,得到最终的结果 ...

  6. 了解js基础知识中的作用域和闭包以及闭包的一些应用场景,浅析函数柯里化

    js基础知识中的作用域和闭包 一.作用域 1.作用域.自由变量简介 (1)作用域定义 (2)作用域实例演示 (3)自由变量定义 (4)自由变量实例演示 2.作用域链简介 (1)作用域链定义 (2)作用 ...

  7. JavaScript 专题之函数柯里化

    JavaScript 专题系列第十三篇,讲解函数柯里化以及如何实现一个 curry 函数 定义 维基百科中对柯里化 (Currying) 的定义为: In mathematics and comput ...

  8. 高级函数技巧-函数柯里化

    我们经常说在Javascript语言中,函数是"一等公民",它们本质上是十分简单和过程化的.可以利用函数,进行一些简单的数据处理,return 结果,或者有一些额外的功能,需要通过 ...

  9. 函数柯里化的作用一:参数复用(正则匹配案例)

    什么是函数柯里化 currying? 做题时看到 currying 这个词还挺有意思的,本意是咖喱,翻译为中文叫柯里化,是因为是以逻辑学家 Haskell Curry 命名的. arity(参数个数) ...

  10. JavaScript 中函数 柯里化风格的运用

    导语 当我第一次看见 柯里化 这个词语的时候,我也表现出一脸懵,在代码程序中,看见这种 "高大上"的一些词汇叫法的时候,下意识的会觉得这个概念很难很深奥,但是当冷静下来,去深究过后 ...

最新文章

  1. 算法笔记-归并排序、归并排序时间复杂度、例题
  2. Python_Note_08Day_10_03_JQuery
  3. 台湾国立大学郭彦甫Matlab教程笔记(13) 3D
  4. 错误:android.util.SuperNotCalledException
  5. NYOJ 35 表达式求值
  6. 【javascript】异步编年史,从“纯回调”到Promise
  7. ACM用N个正方体来建造金字塔问可以建造多少层
  8. 移植的7zip到Vxworks 取名vx7zip
  9. spring boot 集成 Oracle Access Manager(OAM)单点登录
  10. 批处理通过bat文件定时调起本地的计算器或者画图工具并关闭
  11. 单片机c语言取反符号怎么打,arduino取反怎么写
  12. 计算机控制试题库 百度文库,计算机控制技术练习题附答案_百度文库.doc
  13. EMI、EMS和EMC
  14. 华为开源自研AI框架昇思MindSpore CPU-Ubuntu版本 Pip自动安装教程
  15. 数字人民币应用日渐成熟,领先美欧至少5年
  16. 【css】css动画实现的3种方式
  17. 物联网RFID技术在高速ETC中的应用
  18. linux修改vlan子接口mac地址,macvlan虚拟接口
  19. Pycharm中显示Please select a valid Python Interpreter
  20. JTAG接口和SWD接口定义

热门文章

  1. 0640与6130的区别_达人评测熊猫6143收音机与6130有区别没有?使用哪个好?使用四周后体验分享...
  2. 黑色沙漠首发五职业PVP强度排行
  3. 1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目
  4. java 汉字转换为拼音
  5. 【报告分享】2021年中国智能运动健身行业研究报告-艾瑞咨询(附下载)
  6. 产品经理入门03:需求评审和技术评审
  7. 对公账户:企业银行结算账户
  8. JOI-2016/17 春季合宿 切题记
  9. Kb/s,KB/s 究竟如何换算
  10. C# 关于压缩、加密、解压问题