一个合格的中级前端工程师必需要掌握的 28 个 JavaScript 技巧

本文详述了28个中级前端工程师应掌握的JavaScript技巧,包括对象数据类型判断、数组操作实现(如map、filter、some、reduce、flat)、函数柯里化、偏函数、斐波那契数列优化、防抖与节流、图片懒加载、私有变量实现、洗牌算法、单例模式等。通过这些技巧,开发者可以提高代码质量与效率。
摘要由CSDN通过智能技术生成

前言

文中代码对应的详细注释和具体使用方法都放在个人 github 上,源代码在底部链接node

1.判断对象的数据类型

image

使用 Object.prototype.toString 配合闭包,经过传入不一样的判断类型来返回不一样的判断函数,一行代码,简洁优雅灵活(注意传入 type 参数时首字母大写)webpack

不推荐将这个函数用来检测可能会产生包装类型的基本数据类型上,由于 call 始终会将第一个参数进行装箱操做,致使基本类型和包装类型没法区分git

2. 循环实现数组 map 方法

image

使用方法:将 selfMap 注入到 Array.prototype 上(下面数组的迭代方法同理)github

image

值得一提的是,map 的第二个参数为第一个参数回调中的 this 指向,若是第一个参数为箭头函数,那设置第二个 this 会由于箭头函数的词法绑定而失效web

另外就是对稀疏数组的处理,经过 hasOwnProperty 来判断当前下标的元素是否存在与数组中(感谢评论区的朋友)算法

3. 使用 reduce 实现数组 map 方法

image

4. 循环实现数组 filter 方法

image

5. 使用 reduce 实现数组 filter 方法

image

6. 循环实现数组的 some 方法

image

执行 some 方法的数组若是是一个空数组,最终始终会返回 false,而另外一个数组的 every 方法中的数组若是是一个空数组,会始终返回 truechrome。对于新手小白想更轻松的学好Java提升,Java架构,web开发、大数据,数据分析,人工智能等技术,这里给大家分享系统教学资源,扩列下我尉(同英):1253431195【教程/工具/方法/解疑】

7. 循环实现数组的 reduce 方法

image

由于可能存在稀疏数组的关系,因此 reduce 须要保证跳过稀疏元素,遍历正确的元素和下标(感谢@神三元的提供的代码)编程

8. 使用 reduce 实现数组的 flat 方法

image

由于 selfFlat 是依赖 this 指向的,因此在 reduce 遍历时须要指定 selfFlat 的 this 指向,不然会默认指向 window 从而发生错误json

原理经过 reduce 遍历数组࿰

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值