10个JavaScript常见高级知识点

今天,给大家分享的是一篇干货知识《10个JavaScript常见高级知识点》,主要针对初级前端和想要面试找工作的同学,想要学好前端,除了要掌握JavaScript的基础知识外,还需要掌握一些高级的知识点。

学会了下面这些常见的高级知识点可以提升我们的开发效率,帮助我们更快的进阶,还能帮助大家在面试的时候能够和面试官谈笑风生。

好了,话不多说,一起开始学起来~~~

1. 防抖

定义:在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。

function debounce(fn, time){
    let timer  return function(){
      clearTimeout(timer)    let args = arguments    timer = setTimeout(()=>{
        fn.apply(this, args)    }, time)  }}

2. 节流

定义:规定在一个单位时间内,只能触发一次函数。如果这个单位时间内触发多次函数,只有一次生效。​​​​​​​

function throttle(fn, time) {
    let timer = null  return function () {
      if(timer) return    timer = setTimeout(() => {
        fn.apply(this, arguments)      timer = null    }, time)  }}

3. 高阶函数

定义:接受和/或返回另外一个函数的函数被称为高阶函数。常见的像数组的map、reduce、filter这些都是高阶函数​​​​​​​

// 简单的高阶函数function add(x, y, fn) {
    return fn(x) + fn(y);}function fn(num) {
    return Math.abs(num)}add(-5, 6, fn); // 11

4. 函数柯里化

定义:函数柯里化指的是将能够接收多个参数的函数转化为接收单一参数的函数,并且返回接收余下参数且返回结果的新函数的技术。

函数柯里化的主要作用和特点就是参数复用、提前返回和延迟执行。

示例:​​​​​​​

// 普通的add函数function add(x, y) {
    return x + y}// 柯里化后function curryingAdd(x) {
    return function (y) {
      return x + y  }}add(1, 2)           // 3curryingAdd(1)(2)   // 3

实现:​​​​​​

function curry(func) {
    return function cu
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值