09 03 月 2020 使用浏览器原生 API 读写本地文件 2020-03-09 简介新的文件系统 API 允许 Web 应用读取或修改用户设备中的文件或文件夹。他能让开发者简单的构建一个和用户本地文件交互的强大的 Web 应用,如 IDE,照片和视频编辑,文本编辑等。当用户授权给一个 Web 应用后,这个 API 就允许该 Web 应用读取或者修改用户设备上的文件。该 API 不属于 W3C 官方或 WHATWG 规范,目前状态如下:SpecificationStatusCommentFilea
28 02 月 2020 功能 - 函数名称 2020-02-28 描述打印函数的名称。提示使用 console.debug()和参数中的 name 属性进行打印将方法的名称打印到控制台中的 debug 频道代码 constfunctionName=fn=>(console.debug(fn.name),fn);示例将方法名打印到控制台的 debug 频道中:functionName(Math.max);//max 返回总目录每天 30 秒系列之 JavaScript 代
27 02 月 2020 功能 - 延迟执行 2020-02-27 描述 wait 毫秒后调用提供的函数。提示使用 setTimeout()延迟执行 fn 使用扩展运算符...为函数提供任意数量的参数代码 constdelay=(fn,wait,...args)=>setTimeout(fn,wait,...args);示例 1000 毫秒后打印日志:delay(function(text){console.log(text);},1000,'later');返
26 02 月 2020 功能 - 防止抖动 2020-02-26 描述创建一个防止抖动的函数,使其延迟调用提供的函数,直到上次调用该函数至少经过了 ms 毫秒提示防止抖动函数每一次被调用前,都需要使用 clearTimeout()清空上一次将要运行的 timeout 使用 setTimeout()创建一个新的 timeout,将调用的函数延迟至少 ms 后在执行使用 Function.prototype.apply()设置函数的上下文为 this,并提供必要的参数第
26 02 月 2020 功能 - 异常捕获 2020-02-25 描述尝试从提供的参数中调用其方法,返回运行的结果或者捕获的异常对象。提示使用 try...catch 块来返回函数运行的结果或者是适当的异常代码 constattempt=(fn,...args)=>{try{returnfn(...args);}catch(e){returneinstanceofError?e:newError(e);}};示例根据选择器获取元素,并对选择器错误的情
25 02 月 2020 大前端 - Web Components 2020-02-24 简介 WebComponents 是 W3C 正在向 HTML 和 DOM 规范添加的一套功能,他允许在 Web 应用程序中创建可重用的组件。他由以下三部分组成,可单独或组合使用:Customelements(自定义元素):编写自定义组件的 JavaScriptAPIShadowDOM(影子 DOM)HTMLtemplates(HTML 模板):包含 <template> 和 <slot>Customeleme
23 01 月 2020 功能 - 柯里化函数 2020-01-23 描述将一个函数实现柯里化传参。提示使用递归如果提供的参数(args)个数充足,则调用传递的函数 fn 否则的话,返回一个包含剩余参数的柯里化函数 fn 如果你想要柯里化一个可以接受任意参数的函数(一个可变参函数,如 Math.min()),你可以将参数的数量传递给第二个可选参数 arity 代码 constcurry=(fn,arity=fn.length,...args)=>arity<=ar
22 01 月 2020 功能 - 调用栈清空后再执行 2020-01-22 描述延迟一个函数的调用,直到调用栈被清空后才执行。提示使用一个 1ms 延迟的 setTimeout()将一个新的事件添加到浏览器事件队列中,并允许渲染引擎完成他的任务使用扩展运算符...将 fn 之后剩余的参数提供给延迟执行的函数作为参数代码 constdefer=(fn,...args)=>setTimeout(fn,1,...args);示例先打印 b 再打印 a:defer(console
15 01 月 2020 功能 - 重复调用函数 2020-01-14 描述使用迭代函数和初始值构建一个数组。提示使用 while 循环和 Array.prototype.push()重复的调用函数,直到返回 false 迭代函数只接受一个参数 seed,他每次运行后要么返回包含两个元素的数组[value,nextSeed],要么返回终止标志 false 代码 constunfold=(fn,seed)=>{letresult=[],val=[null,seed];w