26 12 月 2019 日期 - 返回数值最大的日期 2019-12-26 描述从给定的日期中返回最大的一个。提示在 Math.max 使用 ES6 的展开语法找到最大的 date 值使用 newDate()将最大值转换为 Date 对象代码 constmaxDate=dates=>newDate(Math.max(...dates));示例从数组中找出最新的一天:constarray=[newDate('2009-12-09'),newDate('2017-4-13'),
26 12 月 2019 日期 - 是否为工作日 2019-12-25 描述为指定的日期返回一个是否为工作日的布尔表达式。提示传递一个指定的日期对象基于 Date.getDay()使用返回值 0-6 来表示周日-周六,可以使用模运算来返回一个布尔值参数的默认值为当天代码 constisWeekday=(t=newDate())=>{returnt.getDay()%6!==0;};示例今天是否是工作日:isWeekday();//false 指定的日期是否为工
24 12 月 2019 日期 - 是否为周末 2019-12-24 描述为指定的日期返回一个是否为周末的布尔表达式。提示传递一个指定的日期对象基于 Date.getDay()使用返回值 0-6 来表示周日-周六,可以使用模运算来返回一个布尔值参数的默认值为当天代码 constisWeekend=(t=newDate())=>{returnt.getDay()%7===0;};示例今天是否是周日:isWeekend();//false 指定的日期是否为周末:
24 12 月 2019 日期 - 获取昨日日期 2019-12-23 描述返回一个字符串用于展现昨天的日期。提示使用 newDate()获取当前的日期使用 Date.getDate()减去一天,并将结果使用 Date.setDate()进行设置使用 Date.prototype.toISOString()返回一个 yyyy-mm-dd 格式的字符串日期代码 constyesterday=()=>{lett=newDate();t.setDate(t.getDat
22 12 月 2019 2016 - 2019 前端现状对比统计 历史的车轮每一条线都代表着 2016 到 2019 的数据统计,越往上表示使用的人越多,越往右表示有越多的用户想使用。从下图可以看出 React、TypeScript、Express、Jest 越来越受用户的青睐。新特性最让人兴奋的是 JavaScript 做为一种语言并没有停滞不前。从箭头函数到结构,在过去几年中添加的很多重要特性现在已经成为我们编写 JavaScript 的一部分。{"color":["rgb(65
21 12 月 2019 日期 - 毫秒格式化 2019-12-20 描述根据给定的毫秒数,返回人类可读的格式。提示用 ms 除以适当的值,以得到适当的 day,hour,minute,second 和 millisecond 值使用 Object.entries()和 Array.prototype.filter()过滤出非零值*使用 Array.prototype.map()为每一个值创建一个字符串,并为复数添加 s 使用 String.prototype.join(
19 12 月 2019 北京 19 日工作游 Day1 抵达北京,看到了没融化的雪 😁Day2 到最近的商场逛吃有 2 个滑梯,这个是比较小的一个,昆明好像还没见过这样的设计,我也想玩第一天就被北京巨贵的生活水平吓到,原来是去错了超市,虚惊一场忘记名字了,只记得灯光太昏暗。但豆腐硬被我妈说是鸡蛋做的,这应该算另类的点赞吧 Day3-16D 说这是 967 卖艺,每天回去都是洗洗睡的节奏,感觉很累。中午就比较开心了,可以休息 2 小时。每天都是去附近的凯德 Mall 吃饭
19 12 月 2019 日期 - 24 小时制转换为 12 小时制 2019-12-19 描述将一个整数转换为一个带有后缀的字符串,并根据他的值为其填上相应的 am 或者 pm。提示使用条件来检测一个整数应该转换为带有何种后缀标示的 12 小时格式化字符串使用模运算符(%)将大于 24 小时的整数转换为对应的 pm 代码 constgetMeridiemSuffixOfInteger=num=>num===0||num===24?12+'am':num===12?12+'pm':num<
18 12 月 2019 浏览器 - 生成 UUID 2019-12-17 描述在浏览器中生成一个 UUID。提示使用 cryptoAPI 生成一个符合 RFC4122 第 4 版规范的 UUID 代码 constUUIDGeneratorBrowser=()=>([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,c=>(c^(crypto.getRandomValues(newUint8Array(1))[0]&(15>>(c/4)
18 12 月 2019 浏览器 - 事件触发 2019-12-16 描述对于给定的元素触发一个具体的事件,并可以选择性的传入自定义数据。提示根据具体的 eventType 和细节,使用 newCustomEvent()创建一个事件在给定的元素上使用 el.dispatchEvent()来触发一个最近创建的事件如果你不想传递自定义的数据到触发的事件中,第三个参数 detail 是可选的代码 consttriggerEvent=(el,eventType,det
13 12 月 2019 浏览器 - 类值切换 2019-12-13 描述为元素切换类值。提示使用 element.classList.toggle()为指定元素切换类值 toggle 方法中如果类值存在,则删除他并返回 false。如果类值不存在,则添加他并返回 truetoggle 方法中当第二个参数存在时,需要根据执行结果来判断类值的添加或删除:若执行结果为 true,则添加指定的类值;若执行结果为 false,则删除指定的类值代码 consttoggleCl
13 12 月 2019 浏览器 - 平滑的滚动到可见区域 2019-12-12 描述将元素平滑的滚动到浏览器窗口的可见区域中。提示使用 scrollIntoView 方法来滚动元素把参数{behavior:'smooth'}传递给 scrollIntoView 方法中,以便可以进行平滑的滚动代码 constsmoothScroll=element=>document.querySelector(element).scrollIntoView({behavior:'sm
11 12 月 2019 浏览器 - 显示元素 2019-12-11 描述展现所有指定的元素。提示使用扩展运算符...和 Array.prototype.forEach()为指定的每一个元素清除 display 属性注意:以上方法太暴力,可能会破坏了页面中原有的布局。我们应先使用 getComputedStyle 来判断元素本身最终的 display、visibility、opacity 属性值,然后对在界面中无法显示的元素进行相应的修改代码 constshow=
11 12 月 2019 浏览器 - 设置样式 2019-12-10 描述为指定的元素设置 CSS 样式。提示使用 element.style 为指定的元素设置 CSS 值注意:不能通过直接给 style 属性设置字符串(如:elt.style="color:blue;")来进行 CSS 的设置。因为通过 style 属性返回的 CSSStyleDeclaration 对象是只读的,但 style 属性中具体的样式却可以用来设置样式。此外,由于 style 属性的设置不会影响到通过其
09 12 月 2019 浏览器 - 序列化表单 2019-12-09 描述将表单中的所有元素编码为一个查询字符串。提示使用 FormData 构造器将 HTMLform 转换为 FormData 使用 Array.from()将 FormData 转换为数组,传递一个 map 函数做为第二个参数使用 Array.prototype.map()和 window.encodeURIComponent()将每一个字段中的值进行编码使用带有适当参数的 Array.prototype.
09 12 月 2019 浏览器 - 平滑的滚动到顶部 2019-12-06 描述平滑的滚动到页面顶部。提示使用 document.documentElement.scrollTopordocument.body.scrollTop 获取到顶部的距离每次往上滚动一点使用 window.requestAnimationFrame()让滚动呈现动画效果代码 constscrollToTop=()=>{constc=document.documentElement.sc
05 12 月 2019 浏览器 - 异步运行一个不阻塞 UI 的函数 (advanced) 2019-12-05 描述使用 WebWorker 在单独的线程中运行一个函数,在不阻塞 UI 的情况在允许长时间运行该函数。提示使用 Blob 对象 URL 创建一个 Worker,内容应为所提供函数的字符串版本在回调函数执行完毕后,需马上将其返回值进行传递返回一个 Promise,用来监听 worker 的 onmessage 和 onerror 事件。将 worker 中返回的数据做为 Promise 成功的参数,将错误信息做为 Pro
04 12 月 2019 浏览器 - 重定向 2019-12-04 描述重定向到一个指定的 URL。提示使用 window.location.href 或者 window.location.replace()来重定向到指定的 url 传入的第二个参数用来模拟一个链接的点击(true-默认)或者一个 HTTP 的重定向(false)相关文章:浏览器-https 重定向代码 constredirect=(url,asLink=true)=>asLink?(window.
03 12 月 2019 浏览器 - 页面重绘前进行回调 2019-12-03 描述在每一帧动画前调用提供的回调函数。提示需使用递归变量 running 为 true 时,将持续调用已提供回调函数的 window.requestAnimationFrame()对象中应包含 start 和 stop 两个方法,以便手工对记录状态进行控制第二个参数 autoStart 默认值为 true。当运行该函数时,默认调用 start 方法代码 constrecordAnimationFrames=(
03 12 月 2019 浏览器 - 返回浏览器支持的 CSS 前缀属性 2019-12-02 描述如果浏览器中的 CSS 属性需要前缀支持的话请返回包含其前缀的完整属性。提示将各浏览器的前缀放入 prefixes 数组中使用 String.prototype.charAt()和 String.prototype.toUpperCase()将属性的第一个字母转换为大写,然后在前面添加上前缀使用 Array.prototype.findIndex()对 prefixes 数组进行检测,如果 do