Redux-saga 概述 redux-saga是一个用于管理redux应用异步操作的中间件,redux-saga通过创建sagas将所有异步操作逻辑收集在一个地方集中处理,...
Redux-saga 概述 redux-saga是一个用于管理redux应用异步操作的中间件,redux-saga通过创建sagas将所有异步操作逻辑收集在一个地方集中处理,...
规范化是践行前端工程化中重要的一部分为什么要有规范化标准:软件开发需要多人协同,不同开发人员有着不同的编码习惯,不同的习惯增加项目维护成本,每个项目或团队需要明确统一的标准。...
引入模块化后,解决了大体量项目的开发问题,但是又带来了一些新问题。比如:ES Module还存在兼容性问题模块文件过多,网络请求频繁所有前端资源都需要模块化,不仅仅是JS,还...
模块化是一种主流的代码组织方式,是一种思想,它将代码依据不同的功能分成不同的模块来提高开发效率,降低维护成本。 模块化的演变 stage1-文件划分方式 缺点十分明显:污染全...
相比Grunt简单高效,基于流的构建系统, Gulp官网[https://www.gulpjs.com.cn/docs/getting-started/quick-start...
什么是自动化构建 通过机器代替手工完成一些工作,目的是能使用提高效率的语法,规范和标准。 比如一些es6+,sass等,通过自动化构建工具,使得一些不被浏览器所支持的特性,转...
脚手架是什么 创建项目基础结构,提供项目规范和约定。在众多的项目中,我们发现他们总是有着 相同的组织结构 相同的开发范式 相同的模块依赖 相同的工具配置 相同的基础代码 脚手...
什么是前端工程化 前端工程化,是指遵循一定的标准和规范,通过工具去提高效率降低成本的一种手段。如今被广泛的关注和探讨,究其原因,主要是因为现在前端应用功能要求不断提高,业务逻...
如何精准测试JS的性能,通过https://jsbench.me/[https://jsbench.me/] 1.慎用全局变量 全局变量定义在全局执行上下文,是所有作用域链的...
内存管理 垃圾回收与常见GC算法 V8引擎的垃圾回收 Performance工具 代码优化实例 内存管理 为什么要内存管理 内存持续升高没有回落,就代表着内存泄漏,至于如何泄...
强类型与弱类型 类型安全纬度:强类型与弱类型强类型:语言层面限制函数的形参类型和实参类型必须相同。弱类型:语言层面不会限制实参的类型。强弱类型之分,根本不是某一个权威机构的定...
Set数据结构 Set与Array是十分相似的,不过Set不允许值重复 Map数据结构 Map与对象是十分相似的,本质都是健值对集合,Map类型可以映射两个任意类型的数据类型...
ECMAScript是什么 ECMAScript(ES),也是一门脚本语言,通常把它看作为JavaScript(JS)的标准化规范,实际上JS是ES的扩展语言,因为ES只提供...
Promise.all方法实现 Promise.resolve方法实现 Promise.finally方法实现 catch方法实现 整体代码 promise代码已手写完毕,整...
要能手写Promise首先要对其使用方法了熟于心,才能反推其原理,下面我们来一步一步的根据使用方法反推 1.创建promise时的使用方法 基于上述,写出 2.promise...
Promise 出现目的,为了解决回调地狱promise的用法就不赘述了,提一下错误处理吧 then的第二个参数就是reject时执行函数在promise中手动调用rejec...
目前主流的javaScript环境都是单线程执行的,采用单线程设计的原因,是因为最早的设计初衷是运行在浏览器端的脚本语言,目的是实现页面上元素的dom交互,所以这就决定了他必...
函子(Functor) 函子的作用,在函数式编程中如何把副作用控制在可控的范围内、异常处理、异步操作等。 什么是 Functor 容器:包含值和值的变形关系(这个变形关系就是...
函数组合 纯函数和柯里化很容易写出洋葱代码 h(g(f(x)))比如获取数组的最后一个元素再转换成大写字母, .toUpper(.first(_.reverse(array)...