高级前端

2024/4/21 8:58:28

高级前端-Vue组件世界

1. 自定义指令 2. 数据双向绑定::value input v-model作用于表单元素 自定义组件使用v-model之后,父组件不用再监听子组件的事件触发 .sync语法糖 3. 组件通信 1. 跨层级访问:$emit,组件过多时会很麻烦,vue提供了…

高级前端-Babel

Babel是什么?是个编译器,把高版本js代码变成低版本js代码 编译过程,把原代码通过词法分析变成一个个token,举例:ab则拆成了a,,b三个token 语法分析器把这些token根据对应的语法生成抽象语法🌲 语义分析器…

高级前端-axios

Axios源码分析 简单源码实现参考:https://jframesea.coding.net/public/interview/Interview/git/files/master/javascript/axios.js 请求API化 1. api不要出现在视图层,不然的话修改起来会很麻烦 2. 建立一个api目录,然后根据业务模块划分ap…

高级前端-页面性能优化

JS和CSS的压缩与混乱 1. 无效字符删除 2. 剔除注释 3. 代码语义缩减和优化 4. 代码优化(代码不易看懂) 图片相关优化 雪碧图svg > webp > png > jpg图片压缩inline-image浏览器对同一个域名的并发加载数量有限制,所以通常静态资源需…

高级前端-JS进阶-异步编程指南

目录 1. 什么是异步编程 思考:JS单线程是如何实现异步的? 单线程,一次只能执行一个任务 浏览器内核的多线程实现 js异步场景 定时器 应用场景:防抖,节流,倒计时,动画(requestAni…

高级前端-Vue源码分析

1. Vue的响应式原理 let nextTick (cb) > Promise.resolve().then(cb) let flushJobs [] function queueJob(dep) {flushJobs.push(dep)// 微任务,最后执行,真正执行数据操作函数nextTick(flushJobs) } function flushJobs(job) {// 拿出队列中的所…

高级前端-webpack

什么是webpack:webpack is a module bundler Tapable是webpack的底层依赖 loader让webpack可以处理除了js和json文件以外的别的类型的文件 module.rules.{use: , test: } 目前用的是chainWebpack可以链式调用loader和plugin,并且可以修改对应loader或者插…

高级前端-vue的主流插件

1. Vuex Mutations是修改数据的唯一方法 2. Vue Router hash history

axios请求设置responseType为‘blob‘或‘arraybuffer‘下载文件时,正确处理返回值为文件流或json对象的情况

参考:axios请求设置responseType为blob或arraybuffer下载文件时,正确处理返回值为文件流或json对象的情况_努力学习的小绵羊的博客-CSDN博客_axios buffer