- 博客(44)
- 收藏
- 关注
原创 【vue】如何改写数组的方法使其成为响应式?
在vue2的响应式中,数组的一些方法是无法实现响应式,需要进行重写,如何实现的呢??在Vue中,对响应式处理利用的是Object.defineProperty对数据进行拦截,vue没有对数组进行响应式处理,例如数组内部变化、数组长度变化、数组的截取变化等等,对这些操作进行hack,让vue能够监听到其中变化。
2022-09-08 23:09:54
736
1
原创 【浏览器】浏览器原理及常见考点
当执行 JavaScript 脚本时,另一个线程解析剩下的文档,并加载后面需要通过网络加载的资源。这种方式可以使资源并行加载从而使整体速度更快。需要注意的是,预解析并不改变 DOM 树,它将这个工作留给主解析过程,自己只解析外部资源的引用,比如外部脚本、样式表及图片。同源策略限制了从同一个源加载的文档或脚本如何与另一个源的资源进行交互。这是浏览器的一个用于隔离潜在恶意文件的重要的安全机制。协议、端口号、域名必须一致。
2022-09-06 10:29:40
666
原创 【html】面试问题总结
1、HTML语义化2、HTML语义化在CSS加载前怎么保持网页完整结构3、HTML文档结构4、script标签放head和body中的区别5、href和src的区别6、Html文件的第一行。
2022-08-30 20:53:34
321
原创 【项目】知识库项目优化
将目录树右对齐,需要给三个层级设置各自的长度,实现左侧缩进,右侧对齐,期初想要直接从antd暴露的pos或者key是类似这种数据“0-0-1”这种,一开始打算通过pos.split(‘-’).length来判断层级,但是没有暴露在dataRef中,无法直接获取,所以卡了一两天,后面通过重写data,然后自定义属性,主要是在重写的时候,根据递归的次数然后暴露出去/*** 将获得的数据转为Tree控件格式数据,key、title、children。...
2022-08-29 17:19:32
404
原创 【leetcode】动态规划
dp属于比较难的题目,主要是要推出合适的递推公式,下面总结常考的几种类型有一些经典的题型:例如交换几次使得某种序列最长?参考网易8.20的笔试。
2022-08-24 22:34:46
79
原创 【vue3】组合式函数
vue3中提出了关于组合式函数的方法,与react中的hooks相同功能,比较常见的钩子有:windows 系统的钩子能监听到系统的各种事件,浏览器提供的 onload 或 addEventListener 能注册在浏览器各种时机被调用的方法。
2022-08-22 18:15:34
3617
原创 【axios】网络请求、数据获取、更新与渲染
axios学习官网,https://www.axios-http.cn/docs/introaxios是一个封装好了XML异步请求的请求库。用例利用promise.all发起多个并发请求。
2022-08-17 18:03:44
801
原创 【项目】前端实习——知识库项目总结
经过一周快两周的时间,经历了一次完整的项目迭代需求,现在对所做的工作进行梳理,主要是熟悉了前后端分离,开发的整个流程、熟悉协同开发、搭建页面等;把踩过的坑和问题都梳理出来,以防忘记。...
2022-08-17 14:43:12
1166
原创 【Vite】字节青训营——Vite构建工具
各种资源,模块化问题(ESM、CommonJS、UMD)、资源编译(高级语法)、产物质量(代码体积性能)、开发效率(热更新)迅速响应,开箱即用新一代的前端构建工具(vue3,所带来的相关工具)核心特征:高性能,dev热启动和热更新速度非常快简单易用当前的主要问题,缓慢的启动(项目编译等待成本高,修改代码后不能实时更新)vite开箱即用的功能等价于:webpack、webpack-dev-servercss-loaderstyle-loader、less-loader、sass-loader、ppo
2022-08-13 10:01:54
234
原创 【leetcode】数组类——滑动窗口、二分查找、快慢双指针
滑动窗口,无非分为两大类,一是寻找满足条件的最小窗口的长度,或者是寻找最大窗口的长度。这样滑动窗口的问题大部分都能解决了利用二分法,先查找出第一个大于target的,在查找第一个小于target,两次二分查找//二分法查找三个8,一个范围;//先查找到第一个大于target的 let ans = [ - 1 , - 1 ];break;} //左闭合右开?} else {} } //寻找左边界 left = 0;break;} else {};...
2022-08-08 00:21:24
193
原创 【antd】Ant design Vue树形控件Tree——增删改查操作
Ant design 组件库中的树形控件,展示了相关的数据展示用法,但基本的增删改查操作还需要自己实现以下,最近花了两三天将基本操作进行实现了。
2022-08-04 18:24:46
6958
原创 【vue3】ref和reactive的区别及选用
ref和reactive函数都是用来定义响应式数据;但是reactive更适合定义复杂数据类型(json、arr数组)、ref适合定义基本数据类型(可接收基本数据类型和对象);
2022-08-04 10:00:30
1869
原创 【JS】详解并手写call、apply及bind方法
this指向由方法的第一个参数决定,第二个参数是一个参数数组或arguments对象,各数组元素或arguments对象表示的各参数将作为目标函数的参数一一对应传入;调用bind()方法将返回一个新函数——目标函数的拷贝,该函数内部的this指向方法的第一个函数,后面逐个列举的任意个数参数将作为目标函数的参数一一对应传入。之后执行新函数相当于执行了目标函数。bind()方法实现了函数柯里化,因此可以分两次向目标函数传递参数,第一次的参数列举在bind()方法首参后面,第二次的参数列举在新函数中。...
2022-08-02 14:15:15
227
原创 【Vue】Vue-cli、Vite相关的脚手架
VueCLI致力于将Vue生态中的工具基础标准化。它确保了各种构建工具能够基于智能的默认配置即可平稳衔接,这样你可以专注在撰写应用上,而不必花好几天去纠结配置的问题。与此同时,它也为每个工具提供了调整配置的灵活性,无需eject。使用Vue-cli是一个基于vue.js进行快速开发的完整系统,运行时的依赖可升级,基于webpack配置,通过插件扩展,@vue/cli是一个全局安装的npm包,提供了终端里的vue命令,可以通过vuecreate快速搭建一个新项目。...
2022-07-29 14:26:43
483
原创 【Ajax】XML请求
XMLHttpRequest是一个内建的浏览器对象,它允许使用JavaScript发送HTTP请求。现如今,我们有一个更为现代的方法叫做fetch,它的出现使得XMLHttpRequest在某种程度上被弃用。
2022-07-22 16:28:29
1028
原创 【Ajax】Fetch请求
也是前端用于发起网络请求的比较好的主流方式,ajax请求主要包括两种XML和fetch,XML可能接触的比较多,下面主要学习fetch请求。fetch()方法是一种现代通用的方法,那么我们就从它开始吧。旧版本的浏览器不支持它(可以polyfill),但是它在现代浏览器中的支持情况很好。......
2022-07-22 12:00:00
923
原创 【JS】数据结构——排序算法总结
冒泡排序选择排序插入排序归并排序快速排序堆排序计数排序桶排序希尔排序在数据结构的考察中,时常会问到基础的排序算法的复杂度,实现原理等。下面进行梳理总结。
2022-07-19 16:53:54
206
原创 【Node.js】面试常考问题
1、koa和express有哪些不同?2、两个Node.js进程如何通信?3、浏览器与Node中的事件循环有什么区别?4、如何实现JWT鉴权机制?说说思路5、Node性能如何进行监控以及优化?6、说说对中间件概念的理解,如何封装node中间件?7、Node文件查找的优先级以及require方法的文件查找策略8、Node中stream的理解?应用场景9、Node中的Buffer的理解?场景10、Node中process的理解,常用方法?11、Node有哪些全局对象12、对node的理解,优缺点,应用场景。..
2022-07-18 11:30:01
1423
原创 【ES6】Symbol相关知识梳理
ES6 引入了 种新的原始数据类型 Symbol ,表示独一无二 的值,Symbol是Js语言的第七种数据类型。Symbol 函数前不能使用 new 命令,否则会报错 这是因为生成的 Symbol 是一个原始类型的值,不是对象 也就是说,由于 Symbol 值不是对象,所以不能添加属性 基本上,它是一种类似于字符串的数据类型Symbol 值不能与其他类型的值进行运算,否则会报错由于每 Symbol 值都是不相等的,这意味着 Symbol 值可以作为标识符用于对象的属性名,保证不会出现同名的属性 这对于
2022-07-13 15:37:30
76
原创 【ES6】Set和Map数据结构
ES6 提供了新的数据结构一-Set 它类似于数组,但是成员的值都是唯一的,没有重复Set 本身是一个构造函数,用来生成 Set 数据结构set基本用法Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。Set 内部判断两个值是否相同时使用的算法 Same-value equality 它类似于精确相等运算符(===) 要的区别是 NaN 等于自身 而精确相等运算符认为 NaN 不等于自身Set 结构的实例有以下属性。SetSet 实例的方法分为两大类:
2022-07-13 15:24:51
200
原创 【JS】阮一峰js教程总结
区别是这样的:null 是一个表示“空”的对象,转为数值时 为 0 ;-undefined 是一个表示”此处无定义”的原始值,转为数值时为 NaN 。注意,空数组( [] )和空对象( {} )对应的布尔值,都是 true 。NaN“非数字”( NaN ),typeof NaN // ‘number’NaN 不等于任何值,包括它本身。NaN 在布尔运算时被当作 false 。NaN 与任何数(包括它自己)的运算,得到的都是 NaN 。isNaN()方法可以用来判断一个值是否为 NaN 。isN
2022-07-13 10:30:11
4466
原创 【JS】原型、原型对象以及原型链的理解
总结自js红宝书第六章创建自定义对象的最简单方式就是创建一个 Object 的实例,然后再为它添加属性和方法或者采用对象字面量的方法这两种方法所创建的对象是一样的,相同的属性和方法,下面对所创建的对象的属性进行研究:采用object.defineProperty/object.defineProperties访问器属性不包含数据值,包含一对儿getter和setter函数;访问器属性不能直接定义,必须使用 Object.defineProperty()来定义开头的Object 构造函数或对象字面量都可以
2022-07-12 15:41:40
965
原创 CSS常见布局——两栏、三栏布局
一般两栏布局指的是左边一栏宽度固定,右边一栏宽度自适应,两栏布局的具体实现:左盒子,float:left ,宽度固定设为200px;右盒子:margin-left:200px;宽度默认(块级元素不设置宽度或auto时为100%)2、float+BFC左盒子,float:left ,宽度固定设为200px;右盒子,设置overflow:hidden,触发了BFC,其中BFC特性为不与浮动元素重叠3、float+flex父盒子:display:flex;左盒子,float:left ,宽度固定设为
2022-07-12 10:50:49
1130
原创 盒子/图片/内容 垂直、水平居中方法总结
盒子居中对齐1、定位:子绝父相+position+transform2、定位:margin3、定位:flex将父盒子设置成弹性盒容器让子元素水平居中,垂直居中4、定位:table-cell5、定位:inline-block文本居中对齐1、text-align:center水平对齐当中心元素是inline-类型的元素,包括inline、inline-block、inline-flex、inline-table;在父级元素上使用text-align:center;2、使用边距ma
2022-07-11 23:06:12
2867
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人