JavaScript中的防抖函数与节流函数
JS中的防抖(debouncing)与节流(throttling)是用来控制一个函数在一定时间内执行的次数(频次),他俩个用处相近、但又不完全相同。 出现原因 为什么会出现这俩个技巧呢?换句话说,为什么要控制函数执行的频次?我们看下面这个例子,当我们在区域内进行滚动时,如果只是监听scroll事件就去执行函数的时候,函数在1s内被执行的次数要超过30次。 <ScrollEvent ...
事件循环(the Event Loop)、宏任务(macrotask)、微任务(microtask)
我们都知道JavaScript是单线程的语言,它不像大多数语言可以开启多线程,当处理一些阻塞并且很慢的操作时,它可以通过多线程使操作变成异步(例如读取文件等IO操作)。其实JavaScript也有同步异步的区分。首先来看一下同步与异步的区别 // 同步 alert('阻塞中...') console.log('待执行') // 异步 setTimeout(() ...
webpack4、Koa搭建Vue服务器端渲染(SSR)
我们现在构建应用都是使用Vue或者React等流行框架,但我们接触到的大多数开发的都是单页面应用,对SEO不是很友好。之前公司从vue单页面迁移到nuxt服务端渲染,我也利用webpack搭建了简易的vue服务端渲染应用,也算是对webpack、Vue-SSR一个学习过程 阅读前 为什么使用服务器渲染? 👉[官方解释](https://ssr.vuejs.org/zh/#% ...
利用正则转换成自定义格式的时间字符串
每个网站都会有时间相关的展示,例如文章、新闻的发布时间,时间选择器的时间展示,显示当天时间等等。基本上后端数据库存储的都是Unix时间戳,前端需要将它转换成对应格式的字符串 格式类似于2018.09.08,18-09-08,09-08 16:37, 2018-09-08 16:37:00等等等。如果网站的时间展示格式是统一的,你完全可以定一个函 ...