高级前端
文章平均质量分 51
JFrameSea
从事互联网开发N年,全栈开发工程师,主要擅长前端部分知识框架,对前端开发遇到的一些疑难杂症,有一些民间偏方
展开
-
高级前端-页面性能优化
高级前端-页面性能优化原创 2021-07-19 20:26:17 · 180 阅读 · 0 评论 -
高级前端-axios
Axios源码分析简单源码实现参考:https://jframesea.coding.net/public/interview/Interview/git/files/master/javascript/axios.js请求API化1. api不要出现在视图层,不然的话修改起来会很麻烦2. 建立一个api目录,然后根据业务模块划分api3. 使用 module.method的方式实现调用api,例子:apiModule.user.login()、apiModule.sku.ge.原创 2021-05-21 18:38:05 · 146 阅读 · 0 评论 -
高级前端-webpack
什么是webpackTapable是webpack的底层依赖loader让webpack可以处理除了js和json文件以外的别的类型的文件module.rules.{use: '', test: ''} 目前用的是chainWebpack可以链式调用loader和plugin,并且可以修改对应loader或者插件的属性webpack的主要配置Entry Output loader pluginwebpack代码分离多入口 splitChunks 动态导入为什.原创 2021-05-13 00:34:52 · 750 阅读 · 2 评论 -
高级前端-Babel
Babel是什么?是个编译器,把高版本js代码变成低版本js代码编译过程,把原代码通过词法分析变成一个个token,举例:a+b则拆成了a,+,b三个token语法分析器把这些token根据对应的语法生成抽象语法????语义分析器根据目标语法生成新的AST最后生成目标代码,遍历新的AST,生成目标代码Babel的工作步骤为什么要用Babel?Babel怎么用?常见面试题:1. Babel的原理2. 实现一个Babel插件...原创 2021-04-23 17:16:30 · 1544 阅读 · 3 评论 -
高级前端-vue的主流插件
1. VuexMutations是修改数据的唯一方法2. Vue Routerhashhistory原创 2021-04-23 08:15:21 · 138 阅读 · 0 评论 -
高级前端-Vue源码分析
1. Vue的响应式原理let nextTick = (cb) => Promise.resolve().then(cb)let queue = []function queueJob(dep) { queue.push(dep) // 微任务,最后执行,真正执行数据操作函数 nextTick(flushJobs)}function flushJobs() { // 拿出队列中的所有job,从第一个开始往后执行}Class Dep { dep原创 2021-04-22 14:12:44 · 239 阅读 · 0 评论 -
高级前端-Vue组件世界
1. 自定义指令2. 数据双向绑定::value + @inputv-model作用于表单元素自定义组件使用v-model之后,父组件不用再监听子组件的事件触发.sync语法糖3. 组件通信1. 跨层级访问:$emit,组件过多时会很麻烦,vue提供了$root和$parent两个属性(强耦合),访问组件根节点和父节点,父组件通过ref访问子组件2. 依赖注入:父组件provide对应属性,子组件通过injected去使用provide提供的数据,injected的内原创 2021-04-21 22:40:47 · 1811 阅读 · 12 评论 -
高级前端-JS进阶-设计模式
设计模式分类创建型模式:工厂模式:建造者模式:单例模式:结构型模式:享元模式:桥接模式:适配器:console.log变成mylog装饰器:dom绑定的click事件的增加操作;Vue数组监听,封装原有方法命令模式:实现和命令解耦,用户只关心调用api的参数不关心行为行为型模式:经典实现:Axios的拦截器技巧型模式:...原创 2021-04-15 19:13:25 · 138 阅读 · 0 评论 -
高级前端-JS进阶-异步编程指南
目录1. 什么是异步编程思考:JS单线程是如何实现异步的?单线程,一次只能执行一个任务浏览器内核的多线程实现js异步场景定时器应用场景:防抖,节流,倒计时,动画(requestAnimationFrame)网络请求事件绑定ES6的promiseEventLoop机制宏任务和微任务,先执行微任务,再执行宏任务2. 为什么需要异步编程让需要耗时并且会阻塞到主线程的任务,放到属于该任务自己的线程中执行3. 异步的实现方式原创 2021-02-18 16:51:52 · 202 阅读 · 0 评论