排序算法 发表于 2021-08-10 更新于 2022-02-12 分类于 前端 阅读次数: 评论: 排序算法冒泡排序算法步骤: 比较相邻的元素。如果第一个比第二个大,就交换他们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数; 针对所有的元素重复以上的步骤,除了最后一个; 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 阅读全文 »
单页应用和多页应用的区别 发表于 2021-08-10 更新于 2022-02-06 分类于 前端 阅读次数: 评论: 单页应用和多页应用的区别单页面应用(SinglePage Web Application,SPA)只有一张Web页面的应用,是一种从Web服务器加载的富客户端,单页面跳转仅刷新局部资源 ,公共资源(js、css等)仅需加载一次,常用于PC端官网、购物等网站。 多页面应用(MultiPage Application,MPA)多页面跳转刷新所有资源,每个公共资源(js、css等)需选择性重新加载,常用于 app 或 客户端等。 阅读全文 »
ES6:WeakSet,Set,Map,WeakMap 发表于 2021-08-10 分类于 前端 阅读次数: 评论: ES6:WeakSet,Set,Map,WeakMapSet 是一种叫做集合的数据结构,Map 是一种叫做字典的数据结构。 Set Set是一个集合,里面的值都是唯一的,没有重复的。 Set中可以是任何数据类型,并且添加数据时会进行严格比较,重复数据无法加入。 Set 本身是一个构造函数,用来生成 Set 数据结构。 Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。 Set 对象允许你存储任何类型的值,无论是原始值或者是对象引用。它类似于数组,但是成员的值都是唯一的,没有重复的值。 阅读全文 »
衍生:ESLint的运行原理 发表于 2021-08-10 更新于 2021-09-04 分类于 前端 阅读次数: 评论: 衍生:ESLint的运行原理原理ESLint 的用法包括两部分: 通过配置文件配置 lint 规则; 通过命令行执行 lint,找出不符合规范的地方; 配置 ESLint通过 eslint –init 随后做各种选择是生成 eslint 配置文件的一种常见方式。
webpack构建原理分析 发表于 2021-08-10 更新于 2021-08-18 分类于 前端 阅读次数: 评论: webpack构建原理分析概念 entry:一个可执行模块或者库的入口。 chunk:多个文件组成一个代码块。可以将可执行的模块和他所依赖的模块组合成一个chunk,这是打包。 loader:文件转换器。例如把es6转为es5,scss转为css等 plugin:扩展webpack功能的插件。在webpack构建的生命周期节点上加入扩展hook,添加功能。 阅读全文 »
webpack如何提高构建速度 发表于 2021-08-10 更新于 2021-08-18 分类于 前端 阅读次数: 评论: webpack如何提高构建速度 多入口情况下,使用CommonsChunkPlugin来提取公共代码; 通过externals配置来提取常用库; 利用DllPlugin和DllReferencePlugin预编译资源模块通过DllPlugin来对那些我们引用但是绝对不会修改的npm包来进行预编译,再通过DllReferencePlugin将预编译的模块加载进来; 使用Happypack 实现多线程加速编译; 使用webpack-uglify-paralle来提升uglifyPlugin的压缩速度。 原理上webpack-uglify-parallel采用了多核并行压缩来提升压缩速度; 使用Tree-shaking和Scope Hoisting来剔除多余代码.
git和svn 发表于 2021-08-10 分类于 前端 阅读次数: 评论: git和svn区别: SVN(Subversion)是集中式管理的版本控制器,而Git是分布式管理的版本控制器!这是两者之间最核心的区别。 SVN只有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。 Git每一个终端都是一个仓库,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。每一次的提取操作,实际上都是一次对代码仓库的完整备份。 Git不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应Git提供的一些概念和特征。 阅读全文 »
函数柯里化 发表于 2021-08-10 更新于 2021-09-04 分类于 前端 阅读次数: 评论: 一、概念 接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 阅读全文 »