- 博客(29)
- 收藏
- 关注
原创 React Hooks学习笔记
useMemo 接收2个参数,第1个参数为执行运算的函数,第2个参数为要监控的状态。有2个函数,第一个参数是要缓存的函数,第二个参数是一个数组 (响应值变化时更新函数)
2024-07-10 16:46:50 668
原创 SessionStorage和loacalStorage区别
SessionStorage中存储的数据在当前会话期间有效,即当页面关闭时数据将被清除。
2024-07-06 09:30:00 699
原创 数组和对象在内存中的区别
一、内存分配方式数组在内存中是一段连续的存储空间,每个元素占据一个位置,这种连续存储方式使得数组的访问速度更快。 对象在内存中是以键值对的形式存储的,每个键值对都需要单独的内存空间,这种非连续的存储方式可能会导致访问速度相对较慢。二、数据操作方式数组提供了一系列内置方法,如push、pop、shift、unshift、slice等,方便对数组进行添加、删除、截取等操作。 对象通常用来表示实体的属性和方法,通过键值对的形式可以方便地访问和操作对象的属性。三、数据结构特点数组适合存储一组有序
2024-07-04 09:15:00 344
原创 解决高德地图标点密集问题
高德地图提供了地图标点聚合的功能,我们可以在调用API时设置标点聚合的参数,让地图自动将附近的标点进行聚合显示,减少地图上的标点密集情况。在调用API时,可以提供搜索功能,让用户可以根据关键词搜索需要的标点信息,然后在地图上显示相应的标点,帮助用户快速找到目标信息。根据用户的缩放级别和地图显示范围,可以调整标点的显示密度,让地图在不同层级下显示合适数量的标点信息,保持地图清晰度和可读性。
2024-07-03 08:45:00 302
原创 ts中的unknown、never、any的区别
在 TypeScript 中,any 类型可以被赋予任何类型的值,它是一种动态类型。使用 any 类型时,TypeScript 编译器将会关闭类型检查,这意味着可以对任何属性进行访问,调用任何方法,而不会受到编译器的限制。因此,any 类型可以被看作是 TypeScript 中的“逃逸阀”,在某些情况下可以用来解决类型不确定的问题,但也会降低类型安全性。
2024-07-02 09:00:00 448
原创 H5响应式布局实用技巧
Flexbox是CSS3的一种布局模型,可以方便地创建灵活的布局。通过设置容器的display属性为flex,可以实现弹性布局。在H5响应式布局中,建议使用相对单位(如em、rem、百分比等)而不是固定单位(如px)来定义尺寸,以便在不同设备上更好地适应。Viewport Meta标签可以帮助网页在移动设备上正确显示,并且允许页面根据设备宽度进行缩放。媒体查询是CSS3的一种技术,可以根据设备的特性(如屏幕宽度、设备类型等)来应用不同的样式。一、使用Viewport Meta标签。
2024-07-01 10:02:53 220
原创 深入理解事件委派和冒泡以及捕获
事件委派是一种常见的事件处理机制,通过将事件处理程序绑定到父元素上,来管理子元素的事件处理。当子元素触发事件时,事件会冒泡到父元素,然后由父元素上的事件处理程序来处理。这种机制可以减少事件处理程序的数量,提高性能,并且方便动态添加或删除子元素时的事件处理。
2024-06-26 09:15:00 396
原创 JS原型与原型链学习笔记
在JavaScript中,每个对象(除了null)都有一个原型(prototype)。原型是一个对象,它包含了共享的属性和方法。当你创建一个对象时,这个对象会自动拥有一个指向原型的内部属性__proto__。
2024-06-25 09:00:00 565
原创 防抖和节流
防抖是指在一段时间内多次触发同一事件时,只执行最后一次触发的操作。也就是说,如果在设定的时间内再次触发事件,计时会被重置。:适用于需要等待用户停止操作后再执行的场景,比如搜索框输入时,延迟一段时间后触发搜索请求,避免频繁发送请求。
2024-06-24 09:00:00 228
原创 懒加载和预加载的区别
懒加载是一种延迟加载资源的技术,即在需要的时候才加载资源,而不是在页面初始加载时就全部加载。这样可以减少页面加载时间和带宽消耗。
2024-06-23 09:00:00 427
原创 v-show和v-if的区别
v-if是Vue.js中的一种条件渲染指令,它根据表达式的真假来决定是否渲染DOM元素。当条件为真时,元素会被渲染到页面上;当条件为假时,元素不会被渲染。v-if是惰性的,即如果初始条件为假,元素不会被渲染,只有在条件为真时才会被渲染。
2024-06-22 09:15:00 259
原创 this和手写apply、call、bind函数
this的指向是在函数被调用时确定的,它指向调用该函数的对象。在不同的情况下,thisthiswindowthisthisthisthiscallapplybindthis。
2024-06-21 08:45:00 420
原创 CSS布局——Flex布局和Grid布局
在上面的代码中,.container是Flex容器,通过设置将其定义为Flex容器,并使用和属性将Flex项目在主轴和交叉轴上居中排布。.item是Flex项目,通过设置flex: 1;实现项目的灵活伸缩,并设置margin属性实现项目之间的间距。
2024-06-19 08:45:00 473
原创 深入理解JavaScript中typeof和instanceof的区别
typeof用于检查基本数据类型和函数类型,返回一个表示数据类型的字符串;而instanceof用于检查对象的原型链,返回一个布尔值表示是否是特定构造函数的实例。typeof适用于基本数据类型和函数类型,而instanceof适用于对象实例的检查。typeof返回的是字符串,而instanceof返回的是布尔值。typeof无法准确地判断null的类型,而instanceof可以准确判断对象实例的类型。
2024-06-18 09:00:00 1202
原创 vue中 key的作用与原理
在上面的代码中,我们使用了v-for指令来遍历items数组,并为每个li元素设置了唯一的key,即item.id。由于每个li元素都有唯一的key,Vue可以准确地追踪到每个元素的变化,只更新需要更新的部分,而不是重新渲染整个列表。在Vue中,当使用v-for指令进行列表渲染时,每个VNode都需要有一个唯一的key值。Vue通过比较新旧VNode的key值来确定VNode的变化情况,进而决定是否重新渲染该VNode。在Vue中,key是用于识别VNode的特殊属性。
2024-06-17 09:30:26 499 1
原创 http学习笔记——对WebSocket的理解
WebSocket是一种在Web浏览器和服务器之间建立持久连接的通信协议,它能够实现低延迟、高效率的双向通信。
2024-06-16 09:45:00 361
原创 http查看是否有缓存学习笔记
浏览器缓存机制是指浏览器在加载网页时将一些静态资源(如图片、CSS、JavaScript文件)保存在本地,以便加快页面加载速度和减少网络带宽消耗的一种技术。浏览器缓存机制分为强缓存和协商缓存两种方式。
2024-06-15 09:15:00 285
原创 解决前端js需要兼容谷歌报错问题
是document重复了,将代码改成这样,就可以了。属性用于访问窗口中的框架(frame)。对象代表浏览器中的一个窗口,
2024-06-14 09:00:00 252
原创 react学习笔记——不能直接操作dom
直接操作DOM可能导致React无法准确跟踪DOM的状态变化,影响虚拟DOM的diff算法性能,降低页面渲染效率。
2024-06-11 16:11:00 329 1
原创 JS中深拷贝和浅拷贝学习笔记
浅拷贝,指的是创建新的数据,这个数据有着原始数据属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值。如果属性是引用类型,拷贝的就是内存地址。即浅拷贝是拷贝一层,深层次的引用类型则共享内存地址。
2024-06-08 10:15:00 372
原创 promise学习笔记
JavaScript 异步编程是处理长时间运行的任务而不会阻塞主线程的一种方式。JavaScript 是单线程的,这意味着一次只能执行一个任务。异步编程允许程序在等待耗时操作(如网络请求、文件读取、计时器等)完成时继续执行其他任务。
2024-06-07 09:23:33 694
原创 开发vue和h5移动端项目笔记(保姆级)
先建立一个项目名称的空白文件夹(以后用于存放项目),然后将它在VScode中打开,点击终端-新建。出现这个,我们按键盘的↓来选择最后一个Manually select features,然后回车。选择你的工程中希望使用的Vue.js的版本,我们选择 3.x 这项,然后按下回车。安装完成后,可通过以下命令检验vue-cli是否安装成功:vue -V。安装命令:npm install -g @vue/cli。执行以上命令后,将显示当前的vue-cli的版本号。一、安装vue-cli脚手架。
2024-06-05 20:11:57 207
原创 学习笔记——SpringMVC
SpringMVC是一种流行的Java Web框架,其基于MVC架构设计,提供了灵活的、高效的Web应用程序开发方式。
2023-11-24 09:11:13 949 1
原创 学习笔记——Spring AOP和事务
切面是Spring AOP中的一个重要概念,它定义了一组通知和切点的组合。切点是一个表达式,用来匹配目标方法的执行点。我们可以使用AspectJ的切点表达式来定义切点。切面则是通过注解或者XML配置来定义的,它将一组切点和通知绑定在一起。在定义切面时,我们需要使用@Aspect注解来标记切面类,并在切面类中定义切点和通知的方法。通知是在切点处执行的代码,它可以在目标方法执行之前、之后或者异常抛出时执行。Spring AOP提供了五种类型的通知:前置通知、后置通知、返回通知、异常通知以及环绕通知。
2023-11-15 21:12:57 130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人