问题描述 和遇到的问题 以及解决方案 > 问题描述: 主页面和子页面通信的时候可能存在跨域 会导致消息发不过去 通过 postmessage 可以发送数据 弊端是不是同步的 导致交互起来比较麻烦 > 想法: 每次发送数据的时候 生成一个 id (通过这个 id 关联发送和返回的数据) 其他页面处理完成后 通过 senderWin 把数据返回来,这边接受到消息后 通过这个 id 把发送数据的这个 promise 处理成 resolve > 这时候有个问题:希望的是 发送消息后 能知道 接收方是否已经收到, 然后还能接受到接收方的处理完的结果 > 解决方案:接收方接受到消息后立刻会返回一个 copy 的命令 发送方知道这个 copy 的命令后 会继续生成一个 promise 把这个 promise 的解决状态给封装一层 然后外面就可以继续 await 这个 promise 而拿到的就是处理完的结果
今年的就业形式简直一片黑暗,本着明年会比今年还差的“侥幸心理”,我还是毫不犹豫地选择裸辞了,历经一个半月的努力,收到了还算不错的 offer,薪资和平台都有比较大的提升,但还是和自己的心理预期有着很大
Canvas在刚推出时主打的优势就是更快的渲染速度,刷新了人们对Web页面元素绘制速度的印象,但Canvas的优势却不仅限于此。
`视图模型双向绑定`,是`Model-View-ViewModel`的缩写,也就是把`MVC`中的`Controller`演变成`ViewModel。Model`层代表数据模型,`View`代表UI组件,`ViewModel`是`View`和`Model`层的桥梁,数据会绑定到`viewModel`层并自动将数据渲染到页面中,视图变化的时候会通知`viewModel`层更新数据。以前是操作DOM结构更新视图,现在是`数据驱动视图`。
JS中的8种数据类型及区别 作用域和作用域链
HTML5 新特性、语义化 HTML5新特性有哪些
从输入URL到页面加载的全过程
http: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端`请求和应答的标准(TCP)`,用于从 WWW 服务器传输超文本到本地浏览器的`超文本传输协议`。
巧用 -webkit-box-reflect 倒影实现各类动效
作为一名coder,像VS Code这样的代码编辑器自然是必不可少的,你还可以使用类似CodeSandbox这样的online编辑器开发demo程序。编辑器更多是作为工具方便我们进行日常的代码开发工作,倘若将编辑器视作产品的一部分为其提供可扩展的能力,我们该如何应对。答案是:w…
之前章节介绍了VNode如何生成真实Dom,这只是patch内首次渲染做的事,完成了一小部分功能而已,而它做的最重要的事情是当响应式触发时,让页面的重新渲染这一过程能高效完成。其实页面的重新渲染完全可以使用新生成的Dom去整个替换掉旧的Dom,然而这么做比较低效,所以就借助接下…
阅读Vue和React两大前端框架的源码时都出现了MessageChannel的影子,但是自己却没不了解什么是MessageChannel,它有什么用。于是花了一些时间研究,并尝试把它解释清楚。什么是MessageChannelMessageChannel允许我…
起初 Vue3.0 暴露变量必须 return 出来,template中才能使用; Vue3.2 中 只需要在 script 标签上加上 setup 属性,组件在编译的过程中代码运行的上下文是在 se
相信大家对 Vue 有哪些生命周期早就已经烂熟于心,但是对于这些生命周期的前后分别做了哪些事情,可能还有些不熟悉。 本篇文章就从一个完整的流程开始,详细讲解各个生命周期之间发生了什么事情。 注意本文不涉及 keep-alive 的场景和错误处理的场景。 进入了 _init 函数…
金三银四,我先面为敬了(腾讯、美团、商汤科技等七家大厂面试有感)
Web 页面性能是前端开发特别需要关注的重点,评判前端 Web 页面性能的指标有很多,页面的流畅度是其中的一种,如何让页面变得 “柔顺丝滑”,要讨论起来可就是个相当有料的话题了。之前开发移动端 H5 页面的时候,就遇到过一个有趣的性能问题 —— 某个卖场页面在 IOS 手机上出…
树的先序中序后序遍历代码,树的先序中序后序遍历
kmp,题目描述这是 LeetCode 上的 「28. 实现 strStr()」,难度为 Easy。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。 如果不存在,则返回 -1…
http 和 https 的基本概念,http 和 https 的区别及优缺点?从输入URL到页面加载的全过程
什么是作用域链? 当访问一个变量时,解释器会首先在当前作用域中查找标识符,如果没找到,就去副作用找,直到找到该变量的标识符或没找到。这条寻找的链路就叫作用域链
当一个网站上线,我们尽可能的需要保证样式的一致性,美化滚动条可以解决这个统一的问题,当然了,你一个绚丽的页面,肯定不想出现丑了吧唧的滚动条吧!
本文主要总结21年前端所考察的手写题(共40+道),题目来源于牛客网前端面经区,统计时间自 3 月初至 10 月底,面经来源于阿里、腾讯、百度、字节、美团、京东、快手、拼多多等 15 家公司
本文主要是参考了官方文档.除了不常用的过渡动效和数据获取,都进行了分析说明.说明:每一节都在文档的基础上进行了更通俗的解释;例子:每一节都添加了单独的例子进行详细的说明,官方没有或复杂或略过的都有详细的说明.总结:每一节都会有tips注意点,实际开发的经验和总结.
其实在写之前,我也没想到关于`this`面试题能有这么的考点,但是如果你的思想开放一点,大胆一点,结合例如`let`、闭包、`forEach、map等ES6方法`来出题的话,会发现一些好玩有趣的题。 (当然如果你是一位害羞保守的小伙子<姑娘>的话可能会对霖呆呆骂娘...) 咳咳,开玩笑的哈,这篇文章对你理解`this`还是挺有帮助的,所以,请放心"食用"吧。😁 让我们来看看,通过阅读本篇文章你可以学习到:
另外查了很多关于`Promise`的面试题,有些一上来就很难的,有些连着几篇题目都是一样的,还有一些比较好的文章介绍的都是一些硬知识点。 这篇文章是一篇比较纯的`Promise`笔试文章,是我自己在做题的时候,根据题目想要的考点来反敲知识点,然后再由这个知识点编写从浅到深的的题目。 所以你可以看到题目中有一些基础题,然后再从基础题慢慢的变难,如果你看着感觉这段位配不上你的话,请答应我坚持看下去,会越来越难的...
前端八股文 ### js 基础 * 原型链 * 继承的实现 * 数据类型 * var、const、let 对比 * es next 最新规范 * new 的过程 * this 指向问题 * bind 实现方式 * 闭包
简单来说把 JavaScript 中 es2015/2016/2017/2046 的新语法转化为 es5,让低端运行环境(如浏览器和 node )能够认识并执行。本文以 babel 6.x 为基准进行讨论。最近 babel 出了 7.x,放在最后聊。 严格来说,babel 也可以转化为更低的规范。但以目前情况来说,es5 规范已经足以覆盖绝大部分浏览器,因此常规来说转到 es5 是一个安全且流行的做法。
组件逻辑膨胀导致的可读性变差 无法跨组件重用代码 Vue2对TS的支持有限 想象一下如果我们编写一个组件包含🔍搜索和排序另两个功能 在传统的OptionsAPI中我们需要将逻辑分散到以下六个部分
工作中遇到的vue相关的坑的记录,方便自己以后的查看,找原因 1. computed, 死循环,总是在不注意间给自己挖坑
网站终于都用 Vue3 + TypeScript + Vite2 + Vuex4 + Vue-Router4 + element-plus 重构完啦!
一些有趣的 JavaScript 和 CSS 库 工作中必然会用到的,使用 gzip 时它只有 5kb,因此它不会像 Bootstrap 或 Foundation 等其他框架一样重。此外,它遵循 BEM 标准,并在 flexbox 中有一个网格用于其布局。
主要记录一下个人的echarts的踩坑记录 echarts 坑,下次遇到的时候能够参考一下,echarts设置阴影背景问题,splitNumber 是echarts 按照这个大概的分成这个 不准 不一定一定是分成这个 , interval 是按照刻度的间隔 来分
backdrop-filter 可以说是 CSS 中为毛玻璃量身定制的一个属性了。这也就是我在标题中使用熠熠生“毛”的原因了。
Puppeteer 是 Chrome 开发团队在 2017 年发布的一个 Node.js 包,用来模拟 Chrome 浏览器的运行。我们团队从 Puppeteer 刚发布出来就开始成为忠实用户了(主要是因为 PhantomJs 坑太多了),本文主要在介绍 Puppet…
目前在前端开发中基本都会用到加密,最常见的就是登录密码的加密。接下来会为大家介绍几种加密方法。 ## 1. md5 加密 MD5 加密后的位数有两种:16 位与 32 位。默认使用32位。 (16 位实际上是从 32 位字符串中取中间的第 9 位到第 24 位的部分)
async await 中添加错误处理个人认为是有必要的,但方案不仅仅只有 try...catch。
文章目录前言目标运行流程图安装中间件安装Prerender服务安装Chrome启动Prerender.io服务测试If you use html5 push state (recommended):If you use the hashbang (#!):通过curl命令测试前言使用Angular,Vue,React进行单页网站开发,用户浏览时浏览器动态解析JS,呈现出最终的页面,用户体验比较...
说起路由懒加载,大家很快就知道怎么实现它,但是问到路由懒加载的原理,怕有一部分小伙伴是一头雾水了吧。下面带大家一起去理解路由懒加载的原理。 路由懒加载也可以叫做路由组件懒加载,最常用的是通过import()来实现它。 然后通过Webpack编译打包后,会把每个路由组件的代码分割…
vue实例生成vnode是基于render函数,但平时我们很少直接写render函数,而是写template,vue会通过编译将template转化成render函数。 在vue包的package.json中,"module"字段指向的是"dist/vue.runtime.es…
发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。在 JavaScript 开发中,我们一般用事件模型来替代传统的发布—订阅模式。
单一职责原则经典例子 单一职责原则,英文缩写 SRP,全称 Single Responsibility Principle。 原始定义:There should never be more than one reason for a class to change。 官方翻译:应该有且仅有一个原因引起类的变更。 ## 我的理解 在理解单一职责原则之前,来回顾一下类的定义:具有相同的属性和功能的对象的抽像的集合。里面有两个关键词:对象和抽象。
给手机装上Linux系统,充当服务器使用
js代理模式和中介模式的区别,js代理模式,代理模式的关键是,当程序不方便或者不满足需要去直接访问一个对象的时候,提供一个替身 对象来控制对这个对象的访问,程序实际上访问的是替身对象。替身对象对请求做出一些处理之 后,再把请求转交给本体对象。
js策略模式实现ifelse判断,js策略模式,往往会遇到一些关于设计模式的问题,每次都回答不太理想准备好好理一下关于设计模式方面的知识点,给自己增加点面试的底气
上面问题的答案,都在文章《Tasks, microtasks, queues and schedules》讲的非常透彻。 建议英文可以的同学直接看这篇文章,就不要看我这个“笔记”了。( 之所以叫笔记,因为大部分内容出自文章,但是又不是按字翻译 ) 问题来了,为什么promise…
一、Object.defineProperty 定义:Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象 为什么能实现响应式
前言 提到状态管理大家可能马上就想到:Vuex、Redux、Flux、Mobx等等方案。其实不然,不论哪种方案只要内容一多起来似乎都是令人头疼的问题,也许你有适合自己的解决方案又或者简单的注释和区分模
最近项目优化的时候发现了一个巨大的累赘:一个78kb的gif动态图: 这个动图是干嘛用的呢?就是在请求一些大面积数据等情况时显示一个我们网站的镂空Logo,然后会出现一些金黄色的液体像水漫金山...
我们在处理图片时,经常使用的一个功能就是滤镜,它能使一张图像呈现各种不同的视觉效果。
全职开源大牛开发的48个 Promise 相关的模块,让你轻松应对Promise 相关的各种异步问题,比如实现并发控制、异步任务处理等,特别是处理多种控制流,比如 series、waterfall 等
ECMAScript是一门高度抽象的面向对象(object-oriented)语言,用以处理Objects对象. 当然,也有基本类型,但是必要时,也需要转换成object对象来用。
原型和闭包的博文,看完有种茅舍顿开的感觉,之前自己总结的原型链和闭包,实在是有失偏颇,因此在参考这篇文章,重新整理了原型链和作用域链的知识,加以巩固。
说白了vite就是为开发者量身定做的一套先进的开发工具,按需编译、热模块替换等特性使我们开发时免除了重新打包的等待时间,开发体验丝滑,默认还整合了vue3,是居家旅行、杀人灭口之必备良药。目前vite已经是正式版,相关的生态正在迅速繁荣起来,我也第一时间在工程化方面做了一些探索…
但是很快我们又蒙圈了,这个组件实例和我们以前熟悉的this不一样,直接访问this.foo还是找不到数据。 当然坑还是有的,你仔细观察这个ctx,发现它不是一个Proxy对象,也就是这位兄台只有值却没有响应性,所以如果要利用响应特性,还得用proxy这个属性返回上下文对象,如果…
最近很多小伙伴都跃跃欲试开始参与到element3开源项目中来,但是经常有一些小问题卡着进行不下去,究其原因还是太着急,缺乏对vue3新特性和变化的足够了解,故有此文。基本上大家看完再去实践一下,vue3也就拿下了。 Vue 2.x中应用程序根容器的 outerHTML 会被根…
作为一枚有追求的武者,我还是想从原理上给大家弹一弹到底为什么会有这些限制和约束,正所谓知其然知其所以然。 结论:到这里我们知道了vue3对setup和其他选项的处理逻辑:如果设置了setup则先调用它,随后再处理别的options。 结论:所以setup中的this就是它执行时…
CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距margin,边框border,填充padding,和实际内容content。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素,call,apply
python获取抖音 js 逆向算法从抖音 APP 分享个人信息,复制链接,获得个人主页地址
fastapi是高性能的web框架。他的主要特点是:- 快速编码- 减少人为bug- 直观- 简易- 具有交互式文档- 基于API的开放标准(并与之完全兼容):OpenAPI(以前称为Swagger)和JSON Schema。技术背景:python3.6+、Starlette、Pydantic安装pip install fastapipip install uvicorn...
@抖音APP视频爬取抖音视频的爬取过程抖音由于没有网页版只有APP导致一些想爬的人都放弃了去尝试,但是作为一个程序员不要怕麻烦。麻烦才是你产生bug的开始 - -爬取前必要做的事(按照前后顺序)首先我在这里先说明 我这里使用的python。但是这篇文章重点是理解整个过程。下面开始。首先我们先选择一个软件(1.charles(简称:花瓶),2.fiddler)我个人使用的是charles...
python爬虫 微信公众号模拟登陆js解密过程中使用的应用:1.python 3.6以上的环境2.vscode3.node.js环境4.pychram5.360极速浏览器打开这个网址 微信公众号账号密码随便输入 然后 F12 审查元素 记得要点xhr 异步加载这样会出现后续的信息然后下一步是点击登陆 出现下面的加载情况然后会发现我输入的密码是’12345’ 但是pwd是’827ccb0eea8a706c4c34a16891f84e7b’那这边肯定是进行了js加密了。只要
selenium在应对需要登录验证的网页爬取上是个很好的工具,但是在登录过后拿到cookie,就可以直接使用cookie访问以下是一个cookie登录的案例;目标网站:https://aso100.c
本文主要研究通过`monorepo`来处理这种多项目中逻辑复用问题。
最近发现Vue增加了一个petite-vue的仓库,大概看了一下,这是一个无虚拟DOM的mini版Vue,主要用于在服务端渲染的HTML页面中上"sprinkling"(点缀)一些Vue式的交互。颇有意思,于是看了下源码(`v0.2.3`),整理了本文。
多进程:多进程指的是在同一个时间里,同一个计算机系统中如果允许两个或两个以上的进程处于运行状态。多进程带来的好处是明显的,比如大家可以在网易云听歌的同时打开编辑器敲代码,编辑器和网易云的进程之间不会相互干扰 JS的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript…
异步模式则完全不同,每一个任务有一个或多个回调函数(callback),前一个任务结束后,不是执行后一个任务,而是执行回调函数,后一个任务则是不等前一个任务结束就执行,所以程序的执行顺序与任务的排列顺序是不一致的、异步的,在浏览器端,耗时很长的操作都应该异步执行,避免浏览器失去…
可能文中有些表述不是很严谨,大家见谅。 顺便推荐大家看一篇非常好的文章Tasks, microtasks, queues and schedules,看完绝对有所收获。 这里猜测一下为什么Vue有一个API叫nextTick。 这些线程中,和Vue的nextTick息息相关的是…
2021超完整面试集合,拯救你的不知道,从javascript基础到进阶
本文以前端面试官的角度出发,对 Vue 框架中一些重要的特性、框架的原理以问题的形式进行整理汇总,意在帮助作者及读者自测下 Vue 掌握的程度。本文章节结构以从易到难进行组织,建议读者按章节顺序进行阅读,当然大佬级别的请随意。希望读者读完本文,有一定的启发思考,也能对自己的 V…
本文整理了面试大致思路以及一些基础知识点,希望能给你带去些许帮助,助力你找到心仪的好工作。
Vue:Mixins(混入)、HOC(高阶组件)、作用域插槽、Vue Composition API(VCA/组合式API)。 React:Mixins、HOC、Render Props、Hook。 我们可以看到都是一段越来越好的成长史
使用`TypeScript`已经有了一段时间,这的确是一个好东西,虽说在使用的过程中也发现了一些`bug`,不过都是些小问题,所以整体体验还是很不错的。 `TypeScript`之所以叫`Type`,和它的强类型是分不开的,这也是区别于`JavaScript`最关键的一点,类型的声明可以直接写在代码中,也可以单独写一个用来表示类型的描述文件`*.d.ts`。
typescript是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程,将从 **16** 个方面入手,带你一步步学习 TypeScript,与js的区别
还记得刚体验 script setup 语法糖的时候,编辑器提示我这是一个实验性的提案,要使用的话,需要固定 Vue 版本。 而在 6 月底,该提案被正式定稿。
今天本篇文章是关于 Vuex,大家使用 Vue 不会陌生吧 今天我们先对 Vuex快速上手,然后自己实现一个简易Vuex
代码分离. 这一章的目的在于重用以及基本的缓存 首先第一部分在于提出公用的,比如都是 loadsh 是公用的部分。 如果正常发布的话,index.js 和 another-module.js. 都会打
相信使用过 webpack 的小伙伴,对 tree shaking 功能都不会陌生。**tree shaking**, 通常用于移除 javascript 上下文中未使用的代码(dead-code)。
绝大多数人都在使用 webpack 作为构建工具。那么 loader 作为处理各种资源的工具,大家肯定也不会陌生。很多人没写过 loader,但是都对 loader 的具体怎么写,怎样执行的一无所知。那么本文就对 3.0.0 版本做一个全方位的揭秘。loader所谓 loader 只是一个导出为函数的 JavaScript 模块。它接收上一个 loader 产生的结果或者资源文件(resour...
本文通过精美的图文,深入分析 Webpack Loader 的运行机制,带你吃透 Webpack loader 的 11 个核心问题。
另外可以发现并不是一个 token 对应一个 Node,等号左右必须都有值才能组成一个声明语句,否则会作出警告,这就是 eslint 的基本原理。最后所有的 Node 组合在一起就形成了 AST 语法树 通过 @babel/traverse 我们能够轻松的找到 await 表达…
Vue父组件可以监听到子组件的生命周期吗?如果能…
指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。糖在不改变其所在位置的语法结构的前提下,实现了运行时的等价。可以简单理解为,加糖后的代码编译后跟加糖前一样,代码更简洁流畅,代…
网上的面试题一大堆,鱼龙混杂,一方面多数题目质量不高,另一方面有答案的很少,即使拿到面试题对自己的帮助也不大。 最近我花了一些时间,为大家整理了2020年各一、二线互联网公司的前端面试题,内容包括JavaScript、算法、网络&安全、Vue、React等大量的前端知识点和相关…
关于单元测试,最常见的问题应该就是“前端单元测试有必要吗?”,通过这篇文章,你将会了解单元测试的必要性,以及在Vue项目中如何能够全面可靠的测试我们写的组件。 单元测试的必要性一般在我们的印象里
写在开篇之前:记录学习点滴,如有错误与补充,希望大家积极指正。 JavaScript 是一种弱类型或者说动态语言。这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。这也意味着你可以使用同一个变量保存不同类型的数据。 这里就发生了隐式转换,我们知道if的判断条…
没错,本篇就是谈关于——组合函数。它是函数编程的重中之重。组合与声明式数据流是支撑函数式编程其他特性的最重要的工具之一!
见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。 ----------超长文+多图预警,需要花费不少时间。---------- 如果看完本文后,还对进程线程傻傻分不清,不清楚浏览器多进程、浏览器内核多线程、JS单线程、JS运行机制的区别。那么请回复我,一定是我…
浏览器的内核是指支持浏览器运行的最核心的程序,分为两个部分的,一是渲染引擎,另一个是JS引擎。渲染引擎在不同的浏览器中也不是都相同的。目前市面上常见的浏览器内核可以分为这四种:Trident(IE)、Gecko(火狐)、Blink(Chrome、Opera)、Webkit(Sa…
AST (Abstract Syntax Tree(抽象语法树)) 是源代码语法结构的一种抽象表示
HTTP 中的状态码
babel的一些记录
整理的些面经记录一下
给大家准备了高清的思维导图和食用更加方便的PDF文档。全部聚合思维导图一张,分类思维导图17张,涉及前端开发的方方面面面,JS基础,工程化,性能优化,安全,框架等。如果您是准备面试,或者享扩展前端知识,建议收藏学习哦
浏览器输入 URL 请求的全过程
Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。
剪贴板操作 Clipboard API
复制excel内容到input框并改变其格式,以逗号隔开
在本文中会使用「虚拟列表」来指代。在本文中,笔者会把上篇文章中的简化例子一步步强化成一个相对通用、性能优异的虚拟列表组件,旨在讲清楚虚拟列表的实现思路。阅读本文不需要阅读上一篇文章,但代码是使用 Vue.js 来实现的,所以你需要有Vue.js 的使用经验。另外,提供了各个步骤的 JSFiddle,如果有不懂的地方,建议通过修改 JSFiddle 在线运行调试。
前端的业务开发中会遇到一些无法使用分页方式来加载的列表,我们一般把这种列表叫做长列表。在本篇文章中,我们把长列表定义成数据长度大于 1000 条,并且不能使用分页的形式来展示的列表。
无意间看到这个,觉得对开发会带来很大便利
vue computed实现原理
算法基本概念
了解一款常见的网络框架原理`axios`,通过**适配器模式**,在浏览器封装`xhr`,在node封装`http`模块,上层的调用保持一致。
fastapi创建api和启动命令
写这篇文章的目的是解剖Promise源码,起因也是最近秋招被问到了让手写Promise,另外在网上看到的Promise源码或多或少有些小问题,也就是没有完全遵循Promise/A+规范。
浅谈encodeURI和encodeURIComponent
Git 常用命令大全
个人的提供后端的增删改查的方法的接口
vue双向绑定原理,
Mac 授权失败authorization failed
搞懂Vue3的Proxy响应式原理!基于函数劫持实现Map和Set的响应式
我们详细的讲解了普通对象和数组实现响应式的原理,但是Proxy可以做的远不止于此,对于es6中新增的Map、Set、WeakMap、WeakSet也一样可以实现响应式的支持。 但是对于这部分的劫持,代码中的逻辑是完全独立的一套,这篇文章就来看一下如何基于函数劫持实现实现这个需求
前几天ui给了个json文件让我转成动画,我顿时懵了,百度一波发现这个可以,记录一下
32个手写JS,巩固你的JS基础(面试高频)
最长的vue面试
vue3+vitexi
cancelToken 在真实项目中,当路由已经跳转,而上一页的请求还在pending状态,如果数据量小还好,数据量大时,跳到新页面,旧的请求依旧没有停止,这将会十分损耗性能,这时我们应该先取消掉之前还没有获得相应的请求,再跳转页面
JSX 环境搭建
生产test文章