自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js实现继承的几种方式

组合继承是原型链继承和借用构造函数继承的组合,它结合了两种继承方式的优点,既可以通过原型链继承父类原型上的属性和方法,又可以通过构造函数继承父类的实例属性。如果原型对象中包含一个指向另一个类型的原型对象的指针,相应地,就形成了一个原型链。寄生式继承是创建一个仅用于封装继承过程的函数,该函数在内部以某种方式来增强对象,最后返回对象。原型式继承是借助原型可以基于已有的对象创建新对象,同时实现原型链继承。属性,这个属性是一个指向原型对象的指针。在子类的构造函数中,通过调用父类的构造函数,并使用。

2024-07-22 10:51:26 509 1

原创 js改变this指向

的第一个参数,而其余参数将作为新函数的参数,供调用时使用。方法都可以用来调用一个函数,并显式地设置。值,并且这个绑定在函数创建时就完成了。方法接受一个包含多个参数的数组。它们之间的主要区别是。方法会创建一个新的函数,在。会被绑定到新创建的对象上。方法接受一个参数列表,而。,它会捕获其所在上下文的。被调用时,这个新函数的。关键字调用构造函数时,箭头函数不绑定自己的。

2024-07-19 14:58:33 325

原创 前端性能优化

传统的做法中,需要使用scroll事件,并调用getBoundingClientRect方法,来实现可视区域的判断,即使使用了函数节流,也会造成页面回流。在安卓下可以使用webp格式的图片,它具有更优的图像数据压缩算法,能带来更小的图片体积,同等画面质量下,体积比jpg、png少了25%以上,而且同时具备了无损和有损的压缩模式、Alpha 透明以及动画的特性。CSS雪碧图是以前非常流行的技术,把网站上的一些图片整合到一张单独的图片中,可以减少网站的HTTP请求数量,但是当整合图片比较大时,一次加载比较慢。

2024-07-18 08:49:08 750

原创 VUE Pinia和Vuex的比较

Getter主要用于获取数据,而Action主要用于执行操作和修改数据。数据持久化默认pinia数据是没有持久化的,刷新页面就变成默认值了,持久化需要安装插件pinia-plugin-persist二、Vuex1.Vuex是什么?Vuex 是一个专为 Vue.js 应用程序开发的。

2024-07-17 13:44:00 761

原创 学Vue3 看这篇就够了

Vue 3 的编译器在编译时做了许多优化,例如静态节点提升和动态节点绑定,从而在运行时减少了不必要的工作。它带来了许多新特性和改进,包括更好的性能、更小的打包大小、更好的TypeScript支持、全新的组合式 API,以及一些新的内置组件。在编译过程中,Vue 3对模板进行静态分析,提取出不会改变的部分,预编译为纯JavaScript,这大大提高了运行时的渲染效率。在 Vue 3 中,开发者会注意到一些重要的变化,主要体现在全局 API 的转移等,以及对 TypeScript 的更好支持上。

2024-07-16 09:15:15 1708

原创 浏览器的缓存

浏览器缓存是指浏览器在访问网页时将一些数据(如HTML、CSS、JavaScript文件、图像等)存储在客户端本地的临时存储空间中。这样,在用户再次访问同一个页面时,浏览器可以直接从缓存中加载这些数据,而无需重新从服务器下载。提升性能和加快加载速度:通过使用缓存,浏览器避免了重复下载相同的资源文件,减少了服务器的负担和网络传输时间,从而加快了页面加载速度。减少网络流量和节省带宽。

2024-07-15 13:31:59 659

原创 数据库mysql的常见操作

【代码】数据库mysql的常见操作。

2024-07-12 13:13:33 957

转载 vue中websocket的使用

WebSockets 是一种先进的技术,它可以在用户的浏览器和服务器之间打开交互式通信会话。使用此 API,可以向服务器发送消息并接收事件驱动的响应,而无需通过轮询服务器的方式以获得响应。WebSockets 这种技术中有一个接口名为WebSocket,它是一个用于连接 WebSocket 服务器的主要接口,之后可以在这个连接上发送和接受数据。接下来的案例则是使用该接口创建一个WebSocket对象来进行管理。//定义。

2024-07-12 13:10:38 902

原创 响应式布局

在前端开发中,实现响应式设计主要指的是让网站或应用能够自适应不同大小的设备屏幕,包括手机、平板和桌面电脑等。这通常通过CSS媒体查询(Media Queries)、流式布局(Fluid Layouts)、弹性盒子(Flexbox)、网格布局(CSS Grid)等技术来实现。下面,我将通过几个简单的例子来展示如何应用这些技术。

2024-07-11 09:19:54 1103

原创 ES6新增特性

ES6(ECMAScript 6)作为JavaScript的第六版标准,于2015年正式发布,它引入了许多新的语法和特性,使得JavaScript编程变得更加方便和优雅。

2024-07-10 11:03:21 992

原创 vue2 和 vue3的区别

Vue 2和Vue 3是Vue.js框架的两个主要版本,它们在多个方面存在显著的差异。

2024-07-10 10:30:00 1708

原创 css 网格布局和弹性盒子的区别

网格布局和弹性盒子都是CSS中非常强大的布局工具,它们各自具有独特的功能和适用场景。在实际项目中,可以根据具体的布局需求来选择合适的技术。通常,对于复杂的整体页面布局,网格布局可能更合适;而对于需要在一维方向上进行灵活布局的场景,弹性盒子则更为便捷。

2024-07-10 10:00:00 1513

原创 promise async和await用法

是处理异步操作的重要工具,它们帮助我们以更直观和可维护的方式编写异步代码。这种方式使得异步代码的编写更加直观和易于理解。在这个例子中,我们创建了一个在2秒后解决的。解决,并将解决的值传递给。

2024-07-09 13:11:28 346

原创 事件冒泡和捕获

冒泡阶段(Bubbling Phase):事件从目标元素开始,向外逐层传播,最终到达最外层。捕获阶段(Capturing Phase):事件从最外层开始,逐层向内传播,直至目标元素。事件冒泡和捕获是DOM事件传播的两个阶段。或省略:在冒泡阶段监听事件(默认行为)。在JavaScript中,可以使用。js事件冒泡和捕获的区别。:在捕获阶段监听事件。,阻止了事件继续冒泡到。

2024-07-09 13:01:59 175

原创 前端网站攻击与解决方法

一、攻击类型跨站脚本攻击(XSS, Cross-Site Scripting) 定义:攻击者在网页上发布包含攻击性代码的数据,当浏览者看到此网页时,特定的脚本就会以浏览者用户的身份和权限来执行。 影响:通过XSS可以比较容易地修改用户数据、窃取用户信息,以及造成其它类型的攻击,例如CSRF攻击。 跨站请求伪造(CSRF, Cross-Site Request Forgery) 定义:攻击者通过各种方法伪造一个请求,模仿用户提交表单的行为,从而达到修改用户的数据,或者执行特定任务的目的。

2024-07-09 11:31:10 1175

原创 uniapp 微信小程序支付流程

在整个支付流程中,安全性是非常重要的。务必注意保护用户的敏感信息,如用户密码、支付密钥等,不要明文传输,防止数据泄露1。

2024-07-09 11:22:46 544

原创 uniapp 小程序登录流程

为你的微信小程序的appid和appsecret,并且确保服务器端的代码安全,防止session_key泄露。服务器端的代码需要有异常处理机制,并且应对并发请求,确保服务稳定性。在实际应用中,你需要替换。

2024-07-09 11:17:04 418

原创 websocket结合ftv.js实现视频直播流播放

1.安装安装2.引入。

2024-07-09 11:03:54 1759

原创 Vue数据更新页面不更新的问题

this.item = Object.assign({},this.item,{newProperty:’新值’})this.$set(this.item, “newProperty”, “新值”);this.item.newProperty = “新值”

2024-07-09 11:03:22 677

原创 div标签 :focus伪类不生效

div 是不支持:focus 伪类 的,因为 div 等元素无法接受键盘或其他用户事件。div 元素添加 tabIndex 属性,使其能够支持:focus 伪类。

2024-07-09 11:02:16 313

转载 防抖和节流函数原理

防抖函数(debounce)是一种在事件处理中使用的优化技术,用于控制事件的触发频率。防抖函数通过延迟执行事件处理函数来限制事件的连续触发,只有等待一定的时间间隔后,才会执行最后一次触发的操作。设置一个定时器,在事件触发时启动计时器。每当事件被触发时,清除之前的计时器。重新设置一个新的计时器,等待一定的时间间隔。如果在该时间间隔内再次触发了事件,重复步骤2和3。在最后一个计时器完成后,执行事件处理函数。简单来说,防抖函数会等待一段时间,如果在这段时间内事件再次触发,那么计时器就会被重置。

2024-07-09 10:59:59 13

原创 axios 封装使用

"Authorization" : 登陆后拿到的token。// 请求拦截-增加loading,对请求做统一处理。// 使用create创建axios实例。// 响应拦截-对返回值做统一处理。

2024-07-09 10:48:17 285

原创 git常用命令步骤

方法二:直接删除**.git** 文件夹,然后重新初始化 git,推送到新的仓库地址。如果您确定要删除所有提交历史记录,只需删除.git 项目根目录中的目录(注意它是隐藏的)。git init。

2024-07-09 10:47:29 352

原创 ucharts图表设置横向滚动

【代码】ucharts图表设置横向滚动。

2024-07-09 10:46:03 490

原创 直播流flv.js的具体使用

flv.js只做了一件事,在获取到FLV格式的音视频数据后通过原生的JS去解码FLV数据,再通过Media Source Extensions API 喂给原生HTML5 Video标签。Flv.js 是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。HTML5 原生仅支持播放 mp4/webm 格式,flv.js 实现了在 HTML5 上播放 FLV 格式视频。HTTP-FLV: 基于HTTP流式IO传输FLV,依赖浏览器支持播放FLV。

2024-07-09 10:43:41 325

空空如也

空空如也

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

TA关注的人

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