【前端词典】4 个实用有趣的 JS 特性

前言前端

最近在学习的过程当中发现了我以前不曾了解过的一些特性,发现有些颇有趣而且在处理一些问题的时候能够给我一个新的思路。web

这里我将这些特性介绍给你们。性能

4 个有趣的 JS 特性学习

利用 a 标签解析 URL优化

有的时候咱们须要从一个 URL 中提取域名,查询关键字,变量参数值等,通常咱们会本身去解析 URL 来获取这些内容。但是你或许不知道还有更简单的方法。server

即建立一个 a 标签将须要解析的 URL 赋值给 a 的 href 属性,而后咱们就能很方便的拿到这些内容。代码以下:blog

标记语句(label)教程

有的时候咱们会写双重 for 循环作一些数据处理,咱们有的时候但愿知足条件的时候就直接跳出循环。以避免浪费没必要要资源。ip

这个时候咱们就能够用 label 和 continue/break 配合使用资源

:

相信你从上面两段代码的输出能够对标记语句有一个了解。

void 运算符

void 运算符对给定的表达式进行求值,而后返回 undefined。

因为void会忽略操做数的值,所以在操做数具备反作用的时候使用void会更加合理。

使用 void 替换 undefined

因为undefined并非JavaScript的关键字,因此咱们在赋值某个变量为undefined时可能会有点意想不到的结果。

 

如上代码咱们可能但愿赋值为undefined,但却获得了10这个莫名其妙的状况。因此咱们可使用使用void替换undefined。

这也是为何咱们在不少源码中都能看到使用void替换undefined。

IntersectionObserver 是什么?

IntersectionObserver 能够用来监听元素是否进入了设备的可视区域以内,而不须要频繁的计算来作这个判断。

因此咱们能够用这个特性来处理曝光埋点,而不是用getBoundingClientRect().top这种更加损耗性能的方式来处理。

本身是一个五年的全栈工程师,这里推荐一下个人前端学习交流圈:开始484而后757最后760,里面都是学习前端的,裙子里会不按期更新最新的教程和学习方法,有想学习web前端的,或是转行,或是大学生,还有工做中想提高本身能力的web前端党欢迎加入,

固然你也能够用这个 API 来优化滚动吸顶,代码以下:

但愿这 4 个特性能够对你有所帮助,而后点个赞在走呗。

相关文章
相关标签/搜索