Prettier 终于支持缓存策略了
就在昨天 Prettier 发布了 v2.7.0 版本(Release Note),它终于支持缓存了。 --cache 在 CLI 中添加 --cache 参数: prettier --cache --write . 当…
超详细的 JavaScript 深拷贝实现
此前写过一篇文章:JavaScript 深浅拷贝,其实没那么难!,但里面的拷贝处理显然不够理想。 今天再来详细的讲讲... 一、JSON.stringify() 的缺陷 利…
在事件处理函数中的 this
在 JavaScript 中,this 是一个很重要的关键字。此前写过一篇文章:JavaScript中 的 this 真没那么难理解。本文内容主要是,针对事件处理函数中如何…
解决跨域问题 Response to preflight request doesn't pass access control check
对于前后端分离,跨域问题老生常谈了,问题是这样的: Access to fetch at 'https://xxx/api/user' from origin 'http://h5.xxx.com' has been blocke…
JavaScript 算法有哪些?
一、算法优劣评判 稳定:如果 a 原本在 b 前面,而 a = b,排序之后 a 仍然在 b 的前面; 不稳定:如果 a 原本在 b 前面,而 a = b,排序之后 a 可能…
Array.prototype.sort 你真的掌握了吗?
在项目开发当中,对数组的排序肯定少不了,类似的升序排序肯定都见过。 const array = [2, 7, 4, 9, 3] array.sort((a, b) => a - b) // 升序排列:…
重写 Function.prototype.bind
该方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。 fun…
你是如何理解 setTimeout 的?
一、setTimeout 在 JavaScript 中 setTimeout、setInterval 最常见不过了,用于延迟或者延迟重复处理等。 setTimeout(() => { console.log('一秒后…
手写实现 Promise/A+ 标准
本文仅作为个人记录,文中可能存在不严谨的地方。 Promise/A+ 的标准有哪些? 只有一个 then 方法,没有 catch、race、all 等方法。 then 返回一个新…
History 对象介绍
HTML5 使用 history 对象 history.pushState() 和 history.replaceState() 方法添加和修改浏览历史记录,这里。 History 对象提供的方法有: back():…
JavaScript 事件循环(含宏任务与微任务)
JavaScript 是单线程非阻塞的一门语言。单线程意味着:JavaScript 代码在执行的时候只有一个主线程去处理所有的任务,即同一时间只能做一件事情。非阻…
关于 onbeforeunload
页面在关闭前会有 onbeforeUnload 事件,来询问用户是否要关闭这个页面/标签。 浏览器的 F5 刷新为:onbeforeUnload &rarr onunload &rarr onload。 …
初识 JavaScript 函数 Arguments 模拟重载
在 JavaScript 中并没有重载函数的功能,但每个函数中的 Arguments 对象可以模拟重载的实现。 1. 通过下标访问实参 arguments 不是一个数组对象,没有…
Vue 组件之间通信以及状态管理模式(Vuex)
一、使用 props props 用于接收来自父组件的数据。props 可以是简单的数组,或者使用对象作为替代,对象允许配置高级选项,如类型检测、自定义校验和…