自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 element-ui组件库中的Tree树形控件,鼠标右键节点,显示新增,删除,编辑等操作(拖拽,切换等等)

参数有三种情况:'prev'、'inner' 和 'next',分别表示放置在目标节点前、插入至目标节点和放置在目标节点后。6)在拖拽节点时触发的事件(类似浏览器的 mouseover 事件)下面代码里面都有详细说明 需要哪一项功能请自行断查。2)当某一节点被鼠标右键点击时会触发的事件。7)拖拽结束时(可能未成功)触发的事件。9)拖拽时判定目标节点能否被放置。4)拖拽进入其他节点时触发的事件。5)拖拽离开某个节点时触发的事件。3)节点开始拖拽时触发的事件。1)节点被点击时候的回调。8)判断节点能否被拖拽。

2023-12-08 14:50:37 779

原创 Echarts 柱状图的一些最基本设置(渐变 外层虚化等)

y轴默认的对齐线换为虚线。x轴信息是否对齐刻度。

2023-08-23 10:34:39 431

原创 TS编译错误问题解决

TS 报错问题解决

2023-08-01 13:25:19 298

原创 还是面试题 (前端 基础)

在Vue 3中,src属性的使用方式有了一些新的变化。总结起来,Vue 3中的src属性使用方式与Vue 2中类似,但在动态绑定上有一些新的语法变化。vue的数据双向绑定 将MVVM作为数据绑定的入口,整合Observer,Compile和Watcher三者,通过Observer来监听自己的model的数据变化,通过Compile来解析编译模板指令(vue中是用来解析 {{}}),最终利用watcher搭起observer和Compile之间的通信桥梁,达到数据变化 —>视图更新;项目默认沿主轴排列。

2023-07-26 10:44:04 93

原创 还是面试(简单基础)

大概说法:解析HTML 生成DOM树和CSS树 计算样式:让每个样式里面得到最终的样式 布局:计算出每一个DOM节点的几何信息布局树和DOM树不一样不能对应 分层:为了提高后续的效率他把页面根据一套策略分为几个图层,诶个层可以单独进行绘制 产生绘制指令:就是先画哪里再画哪里 那个位置画什么 然后把这个指令交给合成线程的分块,分块完成之后会对应很多的小块,对每一个层的每一个小块进行光栅化 优先光栅化变成一个个像素点变成位图 优先光栅化靠近屏幕的小块 最后把那些靠近屏幕的小块发送到GPU画出来。

2023-07-25 17:06:21 46

原创 一些前端面试的知识点(最基本!!!,无序)

vue数据响应式设计的初衷是为了实现数据和函数的联动,当数据变化后,用到该数据的联动函数会自动重新运行,具体再vue开发中 数据和组件的render函数关联再一起 从而实现了数据变化自动运行render 再感官上就看到了组件的重新渲染,除了vue自动关联的render函数 其他还有很多使用到vue响应式的场景,比如computed、watch等等 不能仅把vue的数据响应式想象成和render的关联。再JS中 通过原型就可以知晓某个对象从属于那个类型,换句话说,原型的存在避免了类型的丢失。

2023-07-17 23:19:24 57

原创 一些前端面试的知识点(部分,无序)

vue数据响应式设计的初衷是为了实现数据和函数的联动,当数据变化后,用到该数据的联动函数会自动重新运行,具体再vue开发中 数据和组件的render函数关联再一起 从而实现了数据变化自动运行render 再感官上就看到了组件的重新渲染,除了vue自动关联的render函数 其他还有很多使用到vue响应式的场景,比如computed、watch等等 不能仅把vue的数据响应式想象成和render的关联。根据 W3C官方的解释,每个任务有不同的类型,同类型的任务必须在同一个队列,不同的任务可以属于不同的队列。

2023-07-16 20:33:23 40

原创 一些前端面试的知识点(部分,无序)

2.fetch:是一个API 是在ES6出现的 它使用ES6提出的Promise对象 是XMLHttpRequest的替代品 最大的特点就是 通过数据流对象处理数据 可以提高网站性能,它还提供了一个全局 fetch()方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。是定义类的另一种方法。(不过,可以通过类的 (而不是一个实例的)

2023-07-12 17:24:05 35

原创 一些前端面试的知识点(部分,无序)

所谓diff算法,就是用来找出两段文本之间的差异的一种算法。作为一个前端,大家经常会听到diff算法这个词,其实diff并不是前端原创的算法,其实这一个算法早已在linux的diff命令中有所体现,并且大家常用的git diff也是运用的diff算法。

2023-07-11 22:37:39 55

原创 一些前端面试的知识点(部分,无序)

以Chrome 浏览器为例子,页面加载时候的进程主要是,1.浏览器的主进程,2.GPU进程,3.网络进程,4.渲染进程,5.插件进程,这些进程里面浏览器的渲染进程又可以分为,1.渲染引擎使用HTML解析器(调用XML解析器)解析HTML文档,将各个HTML元素逐个转化成DOM节点,从而生成;2.CSS解析器解析CSS,并将其转化为CSS对象,将这些CSS对象组装起来,构建CSSOM树;3.渲染树构建:DOM 树和 CSSOM 树都构建完成以后,浏览器会根据这两棵树构建出一棵渲染树4.

2023-07-09 22:37:09 45

原创 异步遍历器

注意,普通的 async 函数返回的是一个 Promise 对象,而异步 Generator 函数返回的是一个异步 Iterator 对象。可以这样理解,async 函数和异步 Generator 函数,是封装异步操作的两种方法,都用来达到同一种目的。就像 Generator 函数返回一个同步遍历器对象一样,异步 Generator 函数的作用,是返回一个异步遍历器对象。下面是读取文件的传统写法与异步遍历器写法的差异。,前一个处理同步遍历器,后一个处理异步遍历器,可以看到两个版本的写法基本上是一致的。

2023-07-06 15:41:23 128

原创 正则的扩展(ES6)

正则表达式使用圆括号进行组匹配。上面代码中,正则表达式里面有三组圆括号。使用exec方法,就可以将这三组匹配结果提取出来。// 1999// 12// 31组匹配的一个问题是,每一组的匹配含义不容易看出来,而且只能用数字序号(比如)引用,要是组的顺序变了,引用的时候就必须修改序号。ES2018 引入了具名组匹配(Named Capture Groups),允许为每一个组匹配指定一个名字,既便于阅读代码,又便于引用。

2023-07-05 19:20:38 43

原创 如何让UDP协议变得可靠

UDP(UserDatagramProtocol)是一个简单的面向消息的传输层协议,尽管UDP提供标头和有效负载的完整性验证(通过校验和),但它不保证向上层协议提供消息传递,并且UDP层在发送后不会保留UDP 消息的状态。因此,UDP有时被称为不可靠的数据报协议。如果需要传输可靠性,则必须在用户应用程序中实现。UDP使用具有最小协议机制的简单无连接通信模型。UDP提供数据完整性的校验和,以及用于在数据报的源和目标寻址不同函数的端口号。它没有握手对话,因此将用户的程序暴露在底层网络的任何不可靠的方面。

2023-06-29 19:56:18 697

原创 ECMAScript模块

ECMAScript 模块(ESM)是在 Web 中使用模块的。所有现代浏览器均支持此功能,同时也是在 Web 中编写模块化代码的推荐方式。webpack 支持处理 ECMAScript 模块以优化它们。

2023-06-27 18:06:08 124

原创 webpack----集成

首先,我们要消除一个常见的误解。webpack 是一个模块打包工具(module bundler)(例如,或而不是一个任务执行工具(task runner)(例如,或者任务执行工具用来自动化处理常见的开发任务,例如,lint(代码检测)、build(构建)、test(测试)。相比模块打包工具,任务执行工具则聚焦在偏重上层的问题上面。你仍然可以得益于这种用法:使用上层的工具,而将打包部分的问题留给 webpack。

2023-06-25 23:40:39 61

原创 JavaScript prototype(原型对象)

所有的 JavaScript 对象都会从一个 prototype(原型对象)中继承属性和方法。

2023-06-23 14:35:12 50 1

原创 Node.js基础中的http模块

http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。

2023-06-22 13:00:16 52 1

原创 开发--Vagrant

如果你在开发一个更加高级的项目,并且使用来实现在虚拟机(Virtual Machine)上运行你的开发环境,那你可能会需要在虚拟机中运行 webpack。

2023-06-21 19:15:55 38

原创 webpack中的缓存

Tip本指南继续沿用和中的代码示例。以上,我们使用 webpack 来打包我们的模块化后的应用程序,webpack 会生成一个可部署的/dist目录,然后把打包后的内容放置在此目录中。只要/dist目录中的内容部署到 server 上,client(通常是浏览器)就能够访问此 server 的网站及其资源。而最后一步获取资源是比较耗费时间的,这就是为什么浏览器使用一种名为的技术。

2023-06-20 12:24:15 770 1

原创 webpack中的代码分离

Tip本指南继续沿用中的示例代码。请确保你已熟悉这些指南中提供的示例以及章节。代码分离是 webpack 中最引人注目的特性之一。此特性能够把代码分离到不同的 bundle 中,然后可以按需加载或并行加载这些文件。代码分离可以用于获取更小的 bundle,以及控制资源加载优先级,如果使用合理,会极大影响加载时间。

2023-06-18 15:13:09 534

原创 Proxy

Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。`);},`);});上面代码对一个空对象架设了一层拦截,重定义了属性的读取(get)和设置(set)行为。

2023-06-17 13:58:39 24

原创 Module 的加载实现

JavaScript 现在有两种模块。一种是 ES6 模块,简称 ESM;另一种是 CommonJS 模块,简称 CJS。CommonJS 模块是 Node.js 专用的,与 ES6 模块不兼容。语法上面,两者最明显的差异是,CommonJS 模块使用require()和,ES6 模块使用import和export。它们采用不同的加载方案。从 Node.js v13.2 版本开始,Node.js 已经默认打开了 ES6 模块支持。Node.js 要求 ES6 模块采用.mjs后缀文件名。

2023-06-16 17:37:31 215

原创 path 路径模块

path 模块是 Node.js 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。

2023-06-12 10:53:29 76

原创 node.js基础

Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境。

2023-06-11 20:50:43 35

原创 Promise.all()

方法的参数可以不是数组,但必须具有 Iterator 接口,且返回的每个成员都是 Promise 实例。方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。是包含 6 个 Promise 实例的数组,只有这 6 个实例的状态都变成。方法,将参数转为 Promise 实例,再进一步处理。都是 Promise 实例,如果不是,就会先调用下面讲到的。注意,如果作为参数的 Promise 实例,自己定义了。方法,该方法返回的是一个新的 Promise 实例,的实例的返回值,会传递给。

2023-06-08 17:48:39 32

原创 Promise

Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。Promise对象有以下两个特点。(1)对象的状态不受外界影响。

2023-06-07 19:59:31 15 1

原创 await

方法的回调函数被调用,它的参数就是抛出的错误对象。具体的执行机制,可以参考后文的“async 函数的实现原理”。命令后面是一个 Promise 对象,返回该对象的结果。函数,导致该函数的第一个参数是前一步操作返回的 Promise 对象,所以必须使用。有时,我们希望即使前一个异步操作失败,也不要中断后面的异步操作。函数的执行结果,也是一个 Promise 对象,导致在它前面也必须加上。操作将是并发执行,也就是同时执行,而不是继发执行。命令后面的异步操作,如果不存在继发关系,最好让它们同时触发。

2023-06-01 14:24:18 333

原创 async

ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是什么?一句话,它就是 Generator 函数的语法糖。前文有一个 Generator 函数,依次读取两个文件。上面代码的函数gen可以写成async函数,就是下面这样。一比较就会发现,async函数就是将 Generator 函数的星号()替换成async,将yield替换成await,仅此而已。async函数对 Generator 函数的改进,体现在以下四点。(1)内置执行器。

2023-06-01 14:20:15 16

原创 Promise.prototype.finally()

方法用于指定不管 Promise 对象最后状态如何,都会执行的操作。该方法是 ES2018 引入标准的。方法的回调函数不接受任何参数,这意味着没有办法知道,前面的 Promise 状态到底是。方法里面的操作,应该是与状态无关的,不依赖于 Promise 的执行结果。下面是一个例子,服务器使用 Promise 处理请求,然后使用。方法,同样的语句需要为成功和失败两种情况各写一次。上面代码中,不管前面的 Promise 是。指定的回调函数以后,都会执行。方法,则只需要写一次。方法指定的回调函数。

2023-06-01 14:10:21 257

原创 Promise.prototype.catch()使用方法

到了那个时候,Promise 的运行已经结束了,所以这个错误是在 Promise 函数体外抛出的,会冒泡到最外层,成了未捕获的错误。这就是说,Promise 内部的错误不会影响到 Promise 外部的代码,通俗的说法就是“Promise 会吃掉错误”。事件的监听函数有两个参数,第一个是错误对象,第二个是报错的 Promise 实例,它可以用来了解发生错误的环境信息。方法指定错误处理的回调函数,Promise 对象抛出的错误不会传递到外层代码,即不会有任何反应。注意,上面的写法与下面两种写法是等价的。

2023-06-01 14:08:16 57

原创 Promise的API---then和catch

与之对应,Promise类实例对象有成功的结果(value)和失败的原因(reason),默认值都为undefined,只有状态被改变后(从初始默认状态落定成功或失败的状态)才会为其赋值。(实例的初始状态为pending,一旦由pending状态落定成fulfilled状态或rejected状态,就不可再次改变,该过程是不可逆的)Promise类的实例对象是有状态(state)的,对应三个值:pending(待定)、fullfilled(成功)、rejected(失败)

2023-06-01 13:59:48 91

原创 JS中操作数组的方法(全)

元素,并返回该元素的值。此方法会更改数组的长度。

2023-05-24 21:50:08 2925

原创 Vue中防抖和节流应用以及口述一下基本实现原理?

防抖:登录、短信验证等按钮避免用户点击太快,发行多次请求;调整浏览器窗口大小时,resize 次数过于频繁,计算过多,造成页面卡顿的情况;文本编辑器实时保存;节流: 鼠标连续不断地触发某事件(如点击事件),单位时间内只触发一次;监听滚动事件,例如:懒加载;每隔多少秒计算一次相关数据。)都是用来控制某个函数在一定时间内的触发次数.防抖 (多次触发 只执行最后一次)节流 (规定时间内 只触发一次)

2023-05-13 23:27:13 118 1

原创 关于前端的一些面试问题?

这是一个关于前端面试的一些常见的问题,里面包含了http css js等等

2023-05-13 23:23:25 113 1

原创 Vue实习生面试(高频问题)

这是一个关于前端面试(Vue)的一个小文章

2023-05-01 23:54:36 113 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除