- 博客(29)
- 收藏
- 关注
原创 Vue常用工具库
vue-drag-resize 是一个用于 Vue.js 的拖拽和缩放组件,允许元素在页面上实现自由拖拽、缩放操作,并支持触摸设备。vuedraggable是基于Sortable.js的Vue拖拽组件,支持列表排序、跨列表拖曳和双向数据绑定,适用于Vue 2/3。2、如果项目需求复杂,需要处理大量数据,实现地图、热力图等高级图表,且对性能有较高要求,ECharts 是更合适的选择。1、如果项目需求简单,追求轻量、快速上手,且不需要复杂图表类型,Chart.js 是更好的选择。
2025-12-22 19:52:20
193
原创 vue3基本应用—路由
路由懒加载是Vue Router中一个非常重要的性能优化手段,它可以减少应用初始加载时的资源大小,打包时会进行分包处理,按需加载路由对应的组件,从而提高应用的首屏加载速度。路由元信息是Vue Router中一个非常有用的功能,它允许我们在路由配置中添加自定义数据,这些数据可以在导航守卫、组件中访问,用于实现权限控制、面包屑、页面标题等功能。1、当RouterLink对应的路由匹配成功时,会自动应用两个class类名:router-link-active和router-link-exact-active。
2025-12-17 22:20:05
794
原创 vue3基本应用—响应式api
ref 是用来创建响应式引用的主要方法。它通常用于基本数据类型(如字符串、数字、布尔值、对象、数组等)的响应式包装。在模板中可以直接使用,但在 JavaScript 中需要通过 .value 属性来访问或修改它的值1、ref具有深层次响应式特点,主要针对对象;2、通过shallowRef创建的响应式,不会深层递归,不具备深层响应式特点;reactivereactive 是用来创建响应式对象的方法,适用于处理对象和数组。reactive对象的属性可以在模板和 JavaScript 中直接访问和修改,不
2025-12-17 22:13:58
915
原创 vue3的本质与核心
虚拟dom的实现方式类似于innerHTML的编程方式,但是它的性能要优于innerHTML的实现,我们平时所说的虚拟dom的性能更好,是相比较于innerHTML(注意:初始渲染时,两者性能差距不大,更新阶段虚拟dom性能更优),不是和原生dom操作作比较。web开发者在进行开发时,首先由js引擎来执行js代码,然后js引擎会向浏览器底层发送请求,由浏览器底层(渲染引擎)来创建dom元素,最后返回给js引擎一个创建结果,我们平时所说的真实dom指的是浏览器底层调用c++创建好的dom;
2025-12-06 14:25:23
174
原创 vue3基本应用
根目录 src 下创建 hooks 文件夹,然后创建一个 xxx.js 文件。写法同 react 自定义 hooks 差不多,返回一个对象,对象中的属性和方法可以提供给父组件使用})/*** 创建光墙* @param position 中心点*/id,ziCesium,})return {Pinia 是一个专门为 Vue.js 设计的状态管理库,它提供了一种简单和直观的方式来管理应用程序的状态。
2025-11-25 21:51:16
448
原创 node.js的基本用法
浏览器环境中,提供了操作节点的DOM相关API,和操作浏览器的BOM相关API;NodeJS环境中,没有HTML节点也没有浏览器, 所以NodeJS环境中没有DOM/BOM。浏览器环境中全局 this默认指向 window,NodeJS环境中全局 this,默认指向空对象 { }浏览器环境中提供了window全局对象,NodeJS环境中的全局对象不叫window, 叫 global。NodeJS环境,和浏览器环境一样,都是一个JS的运行环境, 都可以执行JS代码。
2025-11-21 22:46:13
118
原创 js-模块化
3、导出全部可看做一个对象,将所有的导出成员均作为对象属性,default导出相对于增加一个导出对象属性为default,default只能导出一次。在前端传统开发模式中,当代码开发复杂度过高时会出现全局变量污染、依赖混乱、可维护性差等问题,为了解决这些问题,就需要模块化的支持。1、ES6发布的官方标准,浏览器环境和node环境均支持。4、所有模块中的全局变量、函数均不会产生污染。3、所有的js文件均是一个单独的模块。2、支持静态和动态两种导入方式。1、社区标准,node环境。2、CMJ规范,静态导入。
2025-09-23 22:39:37
176
原创 js-promise
1、Promise是一个对象(构造函数),用来处理异步问题;Promise有三种状态:Pending(进行中)、 Resolved(已完成)、Rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态;Promise函数接收一个回调函数作为参数,这个回调函数有两个参数,resolve、reject,也是函数;我们一般使用会根据异步执行的结果来手动去调用resolve或reject函数,这两个函数都可以接收参数;
2025-09-21 21:51:22
145
原创 js-异常
数值超出有效范围时触发,例如创建长度为负数的数组或递归调用导致堆栈溢出。引用未声明的变量时发生,例如调用未定义的函数或变量。操作不符合数据类型时发生,例如对字符串进行数学运算。代码不符合语法规范时触发,例如缺少符号或拼写错误。处理不符合规范的 URL 或编码函数参数时触发。2、引用错误(ReferenceError)1、语法错误(SyntaxError)4、范围错误(RangeError)3、类型错误(TypeError)5、URI错误(URIError)
2025-09-20 19:56:41
231
原创 js-事件循环(Event Loop)
在最开始的时候,渲染主线程会进入一个无限循环,每次一循环会检查消息队列中是否有任务存在,如果有则取出第一个任务去执行,执行完后进入下一次循环;如果没有,则进入休眠状态;其它所有线程可以随时向消息队列中添加新任务,新任务会加入消息队列末尾。在添加新任务时,如果主线程是休眠状态,则会将其唤醒以继续循环拿取任务。这个过程称为事件循环(消息队列)。
2025-09-19 22:10:13
196
原创 js-闭包的理解
js 的作用域分两种,全局和局部,基于我们所熟悉的作用域链相关知识,我们知道在 js 作用域环境中访问变量的权利是由内向外的,内部作用域可以获得当前作用域下的变量并且可以获得当前包含当前作用域的外层作用域下的变量,反之则不能,也就是说在外层作用域下无法获取内层作用域下的变量,同样在不同的函数作用域中也是不能相互访问彼此变量的,那么我们想在一个函数内部也有限权访问另一个函数内部的变量该怎么办呢?闭包就是用来解决这一需求的,闭包的本质就是在一个函数内部创建另一个函数。
2025-09-19 22:05:41
238
原创 js-dom事件传播
利用事件冒泡的机制来完成,当我需要给多个子元素都触发某种事件时,只需要给他们的相同父元素绑定该事件即可;当子元素触发事件时,事件冒泡到父元素上触发绑定的事件,再通过触发事件的事件源(e.target)来判断是哪个子元素触发即可;可用来优化事件性能;在DOM(文档对象模型)结构中,当一个元素上的事件被触发时,该事件不仅会被该元素上的事件监听器捕获,同时也会沿着DOM树向上传播到父元素,直到根节点。当事件发生时,浏览器会从根节点(通常是document对象)开始,然后向下遍历DOM树,直到达到事件的目标元素。
2025-09-19 21:47:40
190
原创 js-堆栈概念
1、js引用数据类型有array、function、object、date等;引用数据类型存储在堆内存中,引用数据类型占据空间大、大小不固定,如果存储在栈中,将影响程序的运行性能;2、引用数据类型会在栈中存储一个指针(地址),这个指针指向堆内存空间中的引用值;3、寻找引用值时,会先检索其在栈中的地址,取得地址后,从堆中获得引用值;JS的基本数据类型有7种;2、访问栈底元素,必须拿掉它上面的元素;
2025-09-07 21:25:12
150
原创 js-作用域和预编译
2、找形参数和变量声明,将形参名和变量名作为AO对象属性名,值为undefined。4、找函数体里面的函数声明,值赋予函数体。1、创建AO对象(执行期上下文)3、将实参值和形参统一。
2025-09-04 23:32:57
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1