自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于js的继承

引言: JavaScript是一门基于原型的语言,而不是基于类的语言。因此,JavaScript中的继承与其他面向对象语言中的继承有所不同。本文将详细介绍JavaScript中的继承,包括原型链、构造函数继承、组合继承、原型式继承、寄生式继承和组合式继承等方式,以帮助开发者更好地理解和应用JavaScript中的继承。

2024-01-19 15:29:38 1214

原创 vue的生命周期

创建阶段(Creation):在这个阶段,Vue实例正在被创建,包括实例化、数据观测、模板编译等过程。更新阶段(Updating):在这个阶段,Vue实例的数据发生变化,需要重新渲染视图。销毁阶段(Destruction):在这个阶段,Vue实例被销毁,清理相关的事件监听器和定时器等资源。

2024-01-19 07:31:48 855

原创 深入理解服务器端渲染(SSR)

服务器端渲染是一种将动态生成的HTML页面在服务器端完成渲染的技术。在传统的客户端渲染中,浏览器会下载一个空的HTML页面,然后通过JavaScript动态加载和渲染页面内容。而在SSR中,服务器会在接收到请求后,生成完整的HTML页面,并将其发送给客户端。客户端只需展示已经渲染好的页面,无需再进行额外的渲染。

2024-01-18 20:50:22 419

原创 对mixin的理解

Mixin是一种在Vue.js中实现代码重用的机制。它允许我们将一组可复用的选项、数据、方法和生命周期钩子等混合到多个组件中。通过使用Mixin,我们可以避免在多个组件中重复编写相同的代码,提高代码的可维护性和可重用性。

2024-01-18 20:14:32 1746

原创 说说vue的性能优化

Vue.js是一款功能强大且易于使用的JavaScript框架,但在处理大规模应用时,性能优化变得尤为重要。本文将详细介绍一些Vue.js性能优化的技巧和策略,以帮助开发者提升应用的性能和响应速度。

2024-01-18 20:05:04 303

原创 聊聊vue中的自定义指令

自定义指令是Vue.js提供的一项强大功能,它允许开发者在模板中直接使用自定义的指令,以便在DOM元素上添加特定的行为和交互效果。在本文中,我们将详细介绍Vue.js自定义指令的使用方法和实现原理。Vue.js自定义指令是一种可以在模板中直接使用的特殊属性,它以v-开头,后面跟着指令的名称。自定义指令可以用于操作DOM元素,监听事件,修改样式等。Vue.js提供了一些内置的指令,如v-ifv-for等,但我们也可以根据自己的需求来创建自定义指令。要创建一个自定义指令,我们需要使用Vue.js的。

2024-01-18 19:32:06 290

原创 对keep-alive的理解

keep-alive是Vue.js提供的一个抽象组件,用于缓存动态组件或组件树,以便在下次渲染时重用它们,从而提高应用程序的性能。keep-alive的实现原理非常简单,它通过缓存组件的实例和VNode来实现。具体来说,当一个组件被缓存起来时,它的实例和VNode都会被存储在缓存对象中。当需要渲染这个组件时,Vue.js会从缓存对象中获取它的实例和VNode,并将VNode插入到DOM中。如果缓存对象中没有对应的实例和VNode,Vue.js会重新创建一个实例和VNode,并将它们缓存起来。

2024-01-18 19:16:08 333

原创 对于$nextTick理解

通过使用nextTick,我们可以确保在DOM更新后执行一些操作,从而获得最新的DOM状态和进行相应的处理。在Vue中,数据的变化会触发视图的更新,但是Vue的更新是异步的,即数据变化后,并不会立即更新DOM。$nextTick的使用方法很简单,只需要在vue实例中调用nextTick的使用方法很简单,只需要在Vue实例中调用nextTick方法,并传入一个回调函数即可。然而,有时候我们需要在DOM更新后执行一些操作,比如获取更新后的DOM信息或在DOM更新后执行一些回调函数。在数据变化后立即操作dom。

2024-01-18 18:14:01 323

原创 vue的单页面和多页面应用

Vue.js是一种流行的JavaScript框架,用于构建现代化的Web应用程序。

2024-01-18 15:28:04 613

原创 对typejavascript的

TypeScript是一种静态类型的编程语言,它扩展了JavaScript并添加了类型注解和编译时类型检查。

2024-01-18 14:27:28 345

原创 对webpack的浅认知

什么是Webpack?Webpack是一个现代化的前端打包工具,它可以将多个模块打包成一个或多个静态资源文件。它不仅仅是一个打包工具,还具备了模块化管理、代码分割、文件压缩、静态资源优化等功能,使得前端开发更加高效和灵活。

2024-01-18 11:04:52 287

原创 vue中是如何收集依赖的,我们来浅说下

在Vue实例的methods选项中,我们定义了一个名为changeMessage的方法,当按钮被点击时,这个方法会被调用。在changeMessage方法中,我们改变了message数据的值,这会触发手机依赖的通知机制,从而更新相关的视图。总之,Vue中的收集依赖是一种强大的机制,它实现了响应式的数据绑定和视图更新。在上面的代码中,我们创建了一个Vue实例,并在data选项中定义了一个名为message的数据属性。手机依赖是Vue内部的一个机制,它可以追踪数据的变化,并在数据发生变化时自动更新相关的视图。

2024-01-18 10:57:10 361 1

原创 说说async和await

fetch函数用于发起网络请求,并返回一个Promise对象,我们可以使用await关键字来等待这个Promise对象的解析结果。需要注意的是,async函数返回的是一个Promise对象,我们可以使用then方法来处理async函数的返回值,也可以在外部使用await关键字来等待async函数的执行结果。async函数是一个返回Promise对象的函数,它内部可以使用await关键字来等待一个Promise对象的解析结果。使用async函数可以让我们像编写同步代码一样编写异步代码,避免了回调地狱的问题。

2024-01-18 10:51:16 311 1

原创 对于事件循环理解

当事件循环队列中同时存在宏任务和微任务时,JavaScript会先执行所有的微任务,然后再执行宏任务。需要注意的是,当事件循环队列中存在大量的宏任务时,JavaScript会不断地执行宏任务,而微任务会一直等待,直到宏任务队列为空。因此,如果需要优先执行微任务,可以使用Promise等微任务来实现。总之,事件循环机制是JavaScript实现异步编程的核心,它通过事件循环队列来管理异步操作,保证JavaScript的单线程执行模型不被阻塞,从而提高了JavaScript的执行效率和用户体验。

2024-01-18 10:46:15 349 1

原创 深入理解requestAnimationFrame函数及其应用

requestAnimationFrame的原理: requestAnimationFrame的原理是基于浏览器的刷新频率。在每一帧的开始时,浏览器会检查是否有通过requestAnimationFrame注册的回调函数需要执行,如果有,则执行这些回调函数。这样就实现了流畅的动画效果。在回调函数中,我们可以更新动画的状态,然后再次调用requestAnimationFrame来实现连续的动画效果。在函数的最后,我们再次调用requestAnimationFrame(animate)来实现动画的连续执行。

2024-01-18 10:35:50 472 1

原创 理解BFC(块级格式化上下文)及其应用

它是一个独立的渲染区域,拥有自己的布局规则,可以帮助我们解决一些常见的布局问题。下面我们以通俗易懂的方式来解释BFC的概念和应用。它是一个独立的渲染区域,其中的元素按照一定的规则进行布局和渲染。通过理解BFC的概念和应用,我们可以更好地解决一些常见的布局问题,提升页面的可靠性和可维护性。在实际开发中,根据具体的需求和布局情况,选择合适的方式来创建和应用BFC。BFC(块级格式化上下文)是CSS中的一个重要概念,它可以帮助我们解决一些常见的布局问题。本文将以通俗易懂的方式详细解释BFC的概念和应用。

2024-01-18 10:31:48 346 1

原创 说一下文本溢出

网页设计和移动应用开发中,文本溢出是一个常见的问题。当文本内容超出容器的宽度或高度时,会导致页面布局混乱或者内容无法完整显示。通过以上方法,可以有效地处理文本溢出问题。根据具体的需求和设计,选择合适的方法来处理文本溢出,以确保内容的可读性和用户体验。在网页设计和移动应用开发中,经常会遇到文本内容过长导致溢出的情况。本文将详细介绍文本溢出的处理方法。

2024-01-18 10:27:30 332 1

原创 深入reduce

我们只需要定义一个回调函数来处理每个元素,并返回一个新的累积值。回调函数接受四个参数:累积值(accumulator)、当前值(current value)、当前索引(current index)和原始数组(array)。回调函数可以执行任意操作,但必须返回一个新的累积值。reduce()是JavaScript数组的一个高阶函数,它可以对数组中的每个元素进行累积操作,并返回一个最终的结果。reduce()函数接受两个参数:一个回调函数和一个可选的初始值。下面是一个简单的例子。

2024-01-17 13:31:38 334

原创 每天五到js算法题 day2

可以使用与上题类似的方法,将字符串反转后与原字符串进行比较,如果相等则是回文字符串。从2开始遍历到数字的平方根,如果存在能整除的数,则该数字不是素数;斐波那契数列是一个数列,每个数字都是前两个数字之和。来保存当前的最小值和最大值,然后遍历数组,如果当前元素比。来保存前两个数字,然后通过循环计算下一个数字,最后返回第。方法将字符串转换为字符数组,然后使用。方法反转数组元素的顺序,最后使用。方法将字符数组转换为字符串。

2024-01-17 11:53:50 327

原创 说说防抖节流

这样,当窗口滚动事件被触发时,防抖函数会延迟执行事件处理程序,只有在停止滚动后的200毫秒内没有再次触发事件,才会执行事件处理程序。每次事件触发时,我们先判断是否存在定时器,如果不存在,则立即执行事件处理程序,并设置一个新的定时器,在指定的时间间隔后将定时器置为null。每次事件触发时,我们先判断是否存在定时器,如果不存在,则立即执行事件处理程序,并设置一个新的定时器,在指定的时间间隔后将定时器置为null。通过使用防抖和节流技术,我们可以有效地控制事件处理程序的执行频率,提高性能和用户体验。

2024-01-17 11:45:16 344

原创 浅浅的说下dom的事件流和事件委托

总结来说,事件委托是一种利用事件冒泡机制的技术,通过将事件处理程序绑定在父元素上,来处理子元素的事件。传统的方式是为每个元素单独绑定事件处理程序,这样会导致代码冗余和性能问题。当一个元素触发了某个事件,比如点击事件,该事件会从触发元素开始,然后向上冒泡到父元素,再冒泡到更高层的祖先元素。事件委托是一种利用事件冒泡机制的技术,将事件处理程序绑定在父元素上,通过判断事件的目标元素来执行相应的操作。通过上述代码,无论我们有多少个li元素,只需要在ul元素上绑定一个事件处理程序,就可以处理所有li元素的点击事件。

2024-01-16 17:01:05 369 1

原创 浅谈下vue中的过滤器

希望通过本文的介绍,你能更好地理解和应用Vue中的过滤器,提升数据展示的效果和用户体验。我们可以在Vue中定义和使用过滤器,将需要处理的数据传入过滤器中,然后得到处理后的结果,再将结果展示在页面上。在Vue中,过滤器是一种非常实用的功能,它可以帮助我们对数据进行格式化和处理,使得数据在页面上展示更加简洁易懂。过滤器的链式调用 在Vue中,我们可以将多个过滤器进行链式调用,以实现多个操作的组合。其中,数据是需要处理的原始数据,过滤器名称是我们定义的过滤器的名称。

2024-01-16 15:47:39 367 1

原创 浅谈虚拟DOM:前端开发的神奇利器

虚拟DOM是前端开发中的一个重要概念,它可以帮助我们更高效地操作网页上的元素。虚拟DOM通过批量更新和最小化操作,提升了性能,同时也简化了开发的难度。希望通过本文的介绍,你能更好地理解和应用虚拟DOM,提升前端开发的效率和性能。以上就是对虚拟DOM的详细解析,希望能帮到你!虚拟DOM就像是网页元素的一个复制品,它是用JavaScript对象来表示真实网页元素的结构。虚拟DOM是前端开发中一个很重要的概念,它可以帮助我们更高效地操作网页上的元素。本文将详细介绍虚拟DOM的原理、好处以及在实际开发中的应用。

2024-01-16 14:59:00 325 1

原创 聊一聊Vue中的computed和watch区别

而watch适用于处理需要在数据变化时执行异步或开销较大的操作的场景,可以通过配置选项来控制是否深度监听数据的变化。根据具体的需求和场景,选择合适的属性来处理数据变化,可以提高代码的可读性和性能。以上是对computed和watch的区别及深度比较的详细介绍,希望能帮助你更好地理解它们的用途和适用场景。在Vue.js中,computed和watch是两个常用的属性,用于处理响应式数据的变化。本文将详细介绍computed和watch的区别,并进行深度比较,帮助新手小白理解它们的不同用途和适用场景。

2024-01-16 14:31:35 376 1

原创 Vue 3的特性和新增API

Vue 3带来了许多令人兴奋的特性和新增的API,包括Composition API、更好的性能、更小的包体积、Teleport、Suspense等。通过使用Vue 3,我们可以更好地组织和重用组件逻辑,获得更好的性能和加载速度,同时还可以享受更多的开发选项和灵活性。通过使用Suspense组件,我们可以在异步组件加载时显示一个占位符,当异步组件加载完成后再显示真正的内容,同时还可以处理异步组件加载失败的情况。本文将详细介绍Vue 3的一些重要特性和新增的API,帮助你了解Vue 3的优势和改进之处。

2024-01-16 14:28:25 377 1

原创 简单聊一聊vue中的路由

组件,我们可以轻松地实现页面导航和组织应用程序结构。最后,能帮助大家理解vue中的路由概念及用法。在Vue.js中,路由是一种用于管理页面导航和组织应用程序结构的机制。Vue提供了官方的路由库Vue Router,它可以帮助我们轻松地实现单页应用程序的路由功能。本文将介绍Vue中的路由概念,并提供几个简单的示例来演示路由的使用。结论: Vue Router是Vue.js官方提供的路由库,可以帮助我们实现单页应用程序的路由功能。通过路由配置和组件的配合,当用户点击不同的路由链接时,对应的组件会被渲染到。

2024-01-16 14:15:27 785 1

原创 Vue中的MVC和MVVM模式及其区别

MVC模式更加传统,适用于简单的应用程序,而MVVM模式更加现代化,适用于复杂的应用程序。在Vue中,我们可以将Vue实例看作是Controller,模板(Template)看作是View,数据(Data)看作是Model。Vue的数据绑定机制使得Model和View之间的同步变得简单,当Model的数据发生变化时,View会自动更新。Vue实例中的数据和方法可以被绑定到模板中,当数据发生变化时,模板会自动更新。本文将介绍Vue中的MVC和MVVM模式,并详细解释它们之间的区别。

2024-01-16 11:55:21 415 1

原创 每天五到js手写代码 day1

【代码】每天五到js手写代码 day1。

2024-01-16 11:07:38 305 1

原创 vue3的用法跟vue2对比

vue3的用法很vue2的对比

2024-01-15 20:27:25 412

原创 常见的vue面试中的proxy和object.defineProperty的区别

在对于一些属性来说使用object.defineProperty是无法截取到的,比如通过下标的方式修改数组中的数据或给对象新增属性,这都不能触发组件的渲染,因为object.defineProperty不能拦截到这些操作,更精准来说对于数组而言,大部分的操作是无法去拦截到的,只能通过vue的重写函数来去解决。属性描述符的局限性:虽然属性描述符可以控制属性的访问、修改和删除,但它们不能为属性提供默认值或指定属性值的类型。限制访问:代理可以限制对特定资源的访问,例如限制特定网站的访问。

2024-01-13 11:58:50 413

原创 vue中的vuex和pinpa的区别

Vuex 是一个基于 Vue.js 的状态管理模式,它将整个应用程序的状态存储在一个单独的 store 中。Pinia 同样将整个应用程序的状态存储在一个单独的对象中,但与 Vuex 不同的是,Pinia 允许你将状态划分为多个部分,每个部分可以有自己的状态、突变和操作。- 状态可预测:由于状态存储在 store 中,状态的变化是可预测的,这有助于提高应用程序的性能和可测试性。- 响应式:Vuex@next 中的状态是响应式的,这意味着它们会自动更新视图,而无需显式地触发视图更新。- 可扩展性:Vuex@

2024-01-12 20:20:45 1126

空空如也

空空如也

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

TA关注的人

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