js高频重点面试

本文详细介绍了JavaScript中的重要概念,包括闭包及其优缺点,防抖与节流的应用,柯里化的原理,以及作用域、作用域链、事件轮询、Ajax的工作原理。同时,讨论了原型、原型链、this指向问题,以及call、apply、bind的区别。文章还涵盖了深拷贝、浅拷贝和递归在深拷贝中的应用。
摘要由CSDN通过智能技术生成

闭包是什么

一句话:闭包是指有权访问另一个函数作用域中变量的函数

使一个函数能访问另一个函数作用域中的变量

闭包优缺点

  • 使用闭包的优点是可以避免全局变 量污染,延长变量生命周期。

  • 缺点是由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在低版本IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除

防抖和节流,以及应用场景

简述:

(1)防抖:就是将一段时间内连续的多次只会执行最后一次触发。

(2)节流:减少一段时间内触发的频率

场景:

防抖:earch搜索联想,用户在不断输入值时或者登录时点击按钮

节流:鼠标拖拽

柯里化

柯里化是一个函数,它一次接受一个参数,并返回一个新函数,该函数期待下一个参数,利用闭包的原理。它是一种函数转换,将 f(a,b,c) 转换为可以被以 f(a)(b)(c) 的形式进行调用。

优点:

  • 可以把函数式编程变得简洁,没有冗余。

  • 可以将函数作为返回值输出,提前返回。

纯函数

1.返回值只和函数参数有关,与外部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pinia-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值