JavaScript 优雅的实现方式包含你可能不知道的知识点
前端 标签: 干货 JavaScript 优雅的实现方式包含你可能不知道的知识点 有些东西很好用,但是你未必知道;有些东西你可能用过,但是你未必知道原理。 实现一个目的有多种途径,俗话说,条条大路通罗马。很多内容来自平时的一些收集以及过往博客文章底下的精彩评论,收集整理拓展一波,发散一下大家的思维以及拓展一下知识面。 茴字有四种写法,233333…, 文末有彩蛋有惊喜。 1、简短优雅地实现 sleep 函数 很多语言都有 sleep 函数,显然 js 没有,那么如何能简短优雅地实现这个方法? 1.1 普通版 function sleep(sleepTime) { for(var start = +new Dat e; +new Date - start <= sleepTime;) {} } var t1 = +new Date() sleep(3000) var t2 = +new Date() console.log(t2 - t1) 优点:简单粗暴,通俗易懂。 缺点:这是最简单粗暴的实现,确实 sleep 了,也确实卡死了,CPU 会飙升,无论你的服务器 CPU 有多么 Niubility。 1.2 Promise 版本 function sleep(time) { return new Promise(resolve => setTimeout(resolve, time)) } const t1 = +new Date() sleep(3000)....