de6f711a16ae7f5643e891a0e6f01ea0.png

本文主要收集一些前端开发中我们可能不常用的开发技巧。如果路过的小伙伴有什么实用的小技巧可以再下方留言,我会将你宝贵的小技巧加在本文的后面,供路过的小伙伴们学习。

1. 清除定时器

就这?不是哟,我其实表达的是批量清除定时器,一般我们会在定时器调用的时候将它赋值给一个变量,然后将在需要清除定时器的时候使用 clearTimeout 或者 clearInterval 就可以清除定时器了。那么如果你想批量清除定时器又该如何清除呢?

其实很简单,小伙伴们在控制台打印一下使用 setTimeout 或者 setInterval 的返回值可能就知道改怎么做了。啥?你没 get 到,好吧,让我细细道来。

每个定时器调用的时候都会返回一个数字值id,这个id值是递增的,每次你调用定时器后,id值都会加一,如果后面你想清除全局的定制器,你可以再设一个定制器,用它的返回值来个 for 循环即可,代码如下:

function clearAllTimer() {  
 let timer = setInterval(() => {})
 for (let i = 1; i <= timer; i++) {
     clearInterval(i)
     clearTimeout(i)
}}
如果你只想清除特定范围或者特定的几个定时器的话,可以将它们的值传到一个数组里面去,再进行一个 for 循环即可
注:谷歌浏览器的定时器返回数值ID以1为起,fireFox要在原定时器的序位的基础上加1,我试了一下,起始值确实是2。

2. 获取当前月份的最后一天

乍一看,好像挺简单的。但是一般的小伙伴都是一看就会,一用就废,认真想一下感觉好像实现起来有点难,其实就一行代码,挺简单的。

function getFirstDay(year, month) {
  return new Date(year, month, 0).getDate()
}

3. 获取变量的数据类型

如何获取变量的数据类型?很常见的问题了,很多同学都会遇到,有挺多靠谱和不靠谱的回答,在这里我找了一种比较靠谱的回答,源码看下面:

function getType(val) {
  return Object.prototype.toString.call(val).replace(/^[object (.+)]$/, '$1')
}

4. calc的使用

可能挺多小伙伴都没有听说过calc吧,作为前端专业级的菜鸟,我也是最近才接触到这个,此刻应该来一波 网抑云 。

calc是一个css3新增的功能,可以用来指定元素的长度,动态计算长度值。写个小案例如下。以下只是小试牛刀,后面你需要自行百度calc的具体使用。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .parent {
      width: 200px;
      height: 200px;
      background-color: lightblue;
    }
    .son {
      width: calc(100% - 20px);
      height: calc(100% - 20px);
      background-color: lightpink;
    }
  </style>
</head>

<body>
  <div class="parent">
    <div class="son">

    </div>
  </div>
</body>
</html>

注:calc在使用的时候需要注意它的运算符,- 和 + 在使用的时候前后都必须要有空格,* 和 / 倒是没有这个要求

作者:学走的笨鸟
链接:https://juejin.im/post/6863727873686306824
来源:掘金
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐