- 博客(35)
- 收藏
- 关注
原创 class语法 vs 原型机制prototype 优缺点
○ 使用原型机制时,需要手动设置子类的原型指向父类的一个实例的原型,并修正子类的构造函数指向,步骤较多但理解原型链的底层机制有助于深入JavaScript。○ 使用class语法时,继承通过extends关键字实现,子类自动继承父类的属性和方法,简化了继承的实现。○ 原型机制代码的可读性较低,涉及复杂的构造函数和原型链交互,需要深入理解JavaScript的原型机制。○ 使用class语法时,方法直接定义在类体内,可以使用this关键字访问实例对象的属性,更加直观。
2025-03-08 09:30:00
408
原创 浏览器hid 和蓝牙bluetooth技术区别
开发者可以根据项目需求和技术特点,灵活地选择和应用这两种技术,以实现更好的用户体验和功能实现.HID(Human Interface Device)和蓝牙(Bluetooth)是两种常用的技术,用于实现设备之间的通信和数据传输。● 前端应用:在前端开发中,蓝牙技术可以用于连接各种外部设备,如智能手表、健康监测设备、智能家居设备等。○ 蓝牙:应用范围广泛,除了输入设备外,还适用于音频设备、健康设备、智能家居设备等多种场景.○ HID:主要用于输入设备,如无线键盘、鼠标等,强调低延迟和快速响应.
2025-01-24 19:35:03
491
1
原创 TypeScript(ts)中type和interface的区别
interface 会创建新的类型名,type 只是创建类型别名,并不新创建类型● interface 只能用于声明对象类型,而不能用于重命名原始类型● interface 使用 extends 来实现继承,type 使用 & 来实现交叉类型● interface 可以通过重复声明来扩展,type 一个类型只能声明一次● interface 会创建新的类型名,type 只是创建类型别名,并不新创建类型
2024-12-24 20:30:00
347
1
原创 vue3的setup语法糖
1,在模板中访问从setup返回的ref时,它会自动浅层解包,因此你无需在模板中为它写.value,当通过this访问时也会同样如此解包。所以setup 函数返回的对象中的内容,可以直接在模板中使用。定义:我们可以使用响应式 API 来声明响应式的状态,在 setup() 函数中返回的对象会暴露给模板和组件实例。请注意如果你解构了 props 对象,解构出的变量将会丢失响应性。2.在 setup 函数中访问 this 会得到 undefined,因为它是针对函数式组件环境设计的。
2024-12-15 20:00:00
293
1
原创 Pina(菠萝)和vuex的区别
Pinia 是 Vue 3 的状态管理库和轻量级的状态管理库,作为 Vuex 的现代替代方案,提供了更简洁的 API 和更好的 TypeScript 支持,模块自动化,支持组合式 API等等。性能:虽然 Pinia 的性能相较 Vuex 有所提升,但在非常大规模的项目中,状态管理的性能瓶颈问题可能仍然存在。社区支持较少:虽然 Pinia 是官方推荐的 Vue 3 状态管理工具,但它相对于 Vuex 来说是较新的库,社区资源和插件的生态系统还没有 Vuex 丰富。pinia和vuex的基本区别。
2024-11-19 20:30:00
501
1
原创 简单聊聊,浏览器的缓存有哪些 ? 什么时候使用强制缓存 ? 什么时候使用协商缓存 ?
协商缓存:当客户端第二次向服务器请求相同的资源时,先向服务器发送请求"询问"该请求的文件缓存在ben’d与服务器相比是否更改,如果更改,则更新文件,如果没有就从内存/硬盘中读取。当我们访问同一个页面时,请求资源、数据都是需要一定的耗时,如果可以将一些资源缓存下来,那么从第二次访问开始,就可以减少加载时间,提高用户体验,也能减轻服务器的压力。浏览器缓存分为强缓存和协商缓存,当存在缓存时,客户端第一次向服务器请求数据时,客户端会缓存到内存或者硬盘。
2024-11-05 20:00:00
217
原创 js如何判断一个对象是否为空对象
4.Object.getOwnPropertyNames方法获取对象的属性名,存到数组中,若长度为0,则为空对象。1.Object.keys()方法,返回对象的属性名组成的一个数组,若长度为0,则为空对象(ES6的写法)2.将对象转换成字符串,再判断是否等于“{}”3.for in循环。
2024-08-22 19:00:00
232
原创 解决app嵌入h5返回的问题点击返回报错Uncaught ReferenceError: mui is not defined at __uniappview.html:1
【代码】解决app嵌入h5返回的问题点击返回报错Uncaught ReferenceError: mui is not defined at __uniappview.html:1。
2024-05-18 13:29:46
546
原创 快速解决element ui中el-dialog弹框组件垂直居中问题的方法
【代码】快速解决element ui中el-dialog弹框组件垂直居中问题的方法。
2024-04-20 20:00:00
1634
原创 vue的模板template本质
Vue中模板template的本质是渲染函数的语法糖,它描述了界面的渲染过程,最终产生表达界面结构的虚拟节点。
2023-12-17 23:05:15
223
1
原创 js封装一个判断类型的函数(Object.prototype.toString.call() 精准判断数据类型)
【代码】js封装一个判断类型的函数(Object.prototype.toString.call() 精准判断数据类型)
2023-10-15 20:00:00
225
原创 get请求和post请求的区别 TCP/IP协议
1.get请求一般是去取==获取数据==(其实也可以提交,但常见的是获取数据); post请求一般是去提交数据。2.get因为==参数会放在url中,所以隐私性,安全性较差==,请求的数据长度是有限制的,不同的浏览器和服务器不同,一般限制在 2~8K 之间,更加常见的是 1k 以内;post请求是没有的长度限制,==请求数据是放在body中==;3.get请求刷新服务器或者回退没有影响,post请求回退时会重新提交数据请求。4.get==请求可以被缓存==,post==请求不会被缓存=
2023-10-13 19:03:14
250
1
原创 1.逗号表达式,2.匿名函数 3.this指向
temp.foo() 直接调用temp对象中的foo函数 当前this指向temp对象 {x:50,foo:f()} 就找到了x:50。所以this指向的是 window,this.x 取的就是全局变量x,因此返回30,而不是局部作用域里面的10。再执行逗号右边的temp.foo,整个表达式返回的也是这个,所以最终返回的是,temp.foo(),先执行逗号左边的temp.foo,这就是一个取了对象里面的方法,并没有执行,所以没有什么用;(temp.foo,temp.foo)() 相当于一个匿名函数。
2023-09-23 16:52:18
67
1
原创 js类型检验的一些常用的方式
在 JavaScript 中,有多种方式可以进行类型检验。1.typeof操作符2.instanceof 操作符:3.hasOwnporperty 检测当前属性是否为对象的私有属性4.prototype.toString.call() 方法:5.Array.isArray()可以用于判断数组类型
2023-09-17 19:47:18
113
1
原创 封装一个原生Ajax请求函数
/2.设置ajax对象 判断是get 还是post请求 get请求url就做拼接。//method 请求的方式 ,url 请求的地址 ,obj传发送的数据。//封装一个Ajax 发送get post 请求的函数。//处理请求返回的数据 (async ()=>{//用变量装promise返回的数据。//处理obj 转换为查询字符串。//如果是POST请求直接走这里。//用promise处理异步。//3.接收并处理响应数据。//1.创建ajax对象。//请求成功就返回数据。//判断是否请求成功。
2023-09-16 20:31:40
105
1
原创 常见的项目报错以及解决方案小结
在 Vue 项目中常见的报错:1. Vue 模板编译错误:这通常表示你在模板中使用了无效的语法或表达式,比如未关闭的标签、错误的指令使用等。2. JavaScript 运行时错误:这可能是由于未定义的变量、空数组或对象引起的,也可能是由于调用不存在的方法或属性引起的。3. Vue 组件错误:这可能是由于组件引用错误、组件命名错误、未导入或注册组件等导致的。4. API 请求错误:在使用 Vue 的过程中,如果与后端进行数据交互时出现错误,常见的问题包括请求超时、404 错误、500错误等
2023-09-09 22:11:11
233
1
原创 用CSS3动画animation 做一个logo在盒子里自由碰撞效果小案例
利用CSS3动画animation 做一个logo在盒子里自由碰撞效果案例
2023-09-04 20:30:00
273
1
原创 React框架 JSX的理解和基本语法
JSX 生成 React 元素,同时允许你充分利用 JavaScript 的全部功能。更具生产力的团队成员:非正式开发人员可以更容易地修改代码,因为 JSX 看起来像HTML,这正是他们 所熟悉的。更少的语法错误:开发人员需要敲入的代码量变得更少,这意味着他们犯错的概率降低了,能够减少重 复性伤害。
2023-09-03 16:03:07
108
原创 封装一个传入数组,计算出所有商品的价格的函数
封装一个传入数组,计算出所有商品的价格的函数1.先用filter方法过滤checked为true的商品出来,//3.最后再用reduce方法把所有商品价格累加起来。//2.然后再用map方法计算每个商品*数量的价格,//js代码如下 //先定义一个商品数组。控制台输出为: 商品的总价格为:900元。
2023-08-28 10:00:00
143
1
原创 ES6箭头函数的理解
1.如果箭头函数的函数体只有一句执行代码,简单返回某个变量或者返回一个简单 的js表达式,可以省去函数体花括号{ }和return。1.箭头函数没有prototype(原型),箭头函数没有自己的this,继承的是外层代码块的this。//箭头函数没有prototype也没有自己的this指向并且不可以使用arguments。4.不可以使用yield命令,因此箭头函数不能用作 Generator(生成器) 函数。2.不可以当做构造函数,也就是说不可以使用new命令,否则会报错的。
2023-08-26 20:20:20
61
原创 封装一个利用sort排序方法能够按对象的指定属性给数组对象排序的函数
【代码】封装一个利用sort排序方法能够按对象的指定属性给数组对象排序的函数。
2023-08-21 20:00:00
126
1
原创 控制台报错Cannot read properties of undefined (reading“length‘)’如何避免报错技巧
【代码】控制台报错Cannot read properties of undefined (reading“length')’如何避免报错技巧。
2023-08-20 22:07:59
5121
1
原创 Vue中nextTick的理解
因为vue更新DOM时,使用的是异步更新队列。目的是提高性能,避免无效的重复的DOM更新。即:vue 中更新数据后,并不会立即更新DOM,而是把数据引起的DOM更新放入到异步更新队列里。等待下次事 件循环(tick),并在两个tick之间进行UI渲染。按照这个思路,程序员就不能在更改数据后,立即获取更新后的DOM,也不知道什么时候DOM能够 更新。由$nextTick内部,在更新完DOM后,调用回调函数Vue.nextTick(callback)。这样回调函数将在 DOM 更新完成后被调用。
2023-08-19 21:03:24
79
原创 封装一个用递归算法实现:数组长度为5且元素的随机数在2-23间不重复的值
【代码】封装一个用递归算法实现:数组长度为5且元素的随机数在2-23间不重复的值。
2023-08-19 16:12:41
66
原创 javascript编写一个函数,接受一个数组作为参数,返回数组中所有元素的和
javascript编写一个函数,接受一个数组作为参数,返回数组中所有元素的和。/* 封装一个函数求数组中所有元素的和 */运行结果为:1300。
2023-08-12 20:17:22
820
1
原创 防抖和节流区别
如:浏览器的 resize、scroll、keypress、mousemove 等事件在触发时,会不断地调用绑定在事件上的回调函数,极大地浪费资源,降低前端性能。为了优化体验,需要对这类事件进行调用次数的限制,对此我们就可以采用throttle(防抖)和debounce(节流)的方式来减少调用频率。就是指连续触发事件但是在设定的一段时间内中 只执行一次函数例如: 设定1000毫秒执行,那你在1000毫秒触发在多次,也只在1000毫秒后执行一次。: 单位时间内,频繁触发事件,:单位时间内,频繁触发事件,
2023-08-12 16:59:39
273
1
原创 网页布局中浮动的特点和作用和清除浮动的方法
如果子元素浮动了,此时子元素不能撑开标准流的块级元素,这时候要清除浮动解决高度坍陷的问题,不影响其它网页元素的布局。1.浮动元素会脱离文档流(简称:脱标),在标准流中不占用位置,相当于从地面飘到了空中。在父元素内容的最后添加一个块级元素并设置clear:both。3. 浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动。场景:让垂直布局的盒子变成水平布局,如:一个在左,一个在右。2.浮动元素比标准流高半个级别,可以覆盖标准流中的元素。(1)一行可以显示多个 (2)可以设置宽高。现在的作用:网页布局。
2023-08-05 22:48:21
284
1
原创 CSS写三角形和一个小风车案例
三角形原理 盒子设置宽高为0 边框设置为10px solid 颜色为透明transparent 想要在哪个方向的三角形就根据边框的显示的方向 border-right 右三角形。2.每个span由四个三角组成一个正方形,然后全部设置上下左右边框为透明,再设置下边框大小为40px和颜色为绿色,第一个span盒子的三角形形状就出来了。然后再想要一个三角形就把所有边框颜色变成透明色和留一个左边框颜色border-left,把其他border方向去掉,就出来一个蓝色的三角形。6.最后完整的小风车就完成了如下图。
2023-07-23 17:33:39
116
原创 常用的数组方法
常用的数组方法 :1.forEach() 2.map() 3.filter() 4.some() 5.every() 6.push() 7.silce() 8.find() 9.reduce() 10.splice() 11.unshift() 12.reverse()let arr = [“张三”,“李四”,“张飞”,“后羿”,“李白”,“关羽”]// 得到一个map1新数组 Array [2, 8, 18, 32]举例: let arr = [1, 5, 6, 8, 6, 6]
2023-07-13 21:56:39
51
1
原创 Vue组件间的通信方式总结
父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。不论子组件有多深,只要调用了 inject那么就可以注入provider中的数据。而不是局限于只能从当前父组件的prop属性来获取数据,只要在父组件 的生命周期内,子组件都可以调用。可以用来从一个子组件访问父组件的实例。父组件通过绑定属性来向子组件传递数据,子组件通过。事件向父组件发送消息,将自己的数据传递给父组件。组件通信的四大类 父与子 子与父 子与子 跨层级。的方式传入子组件的方式。子组件的排序是不安全的。
2023-07-05 19:00:35
67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人