前端面试
淡淡蛋痛
后端、运维、测试、UI但是一名前端开发。
展开
-
【无标题】
深拷贝开辟一个新的栈,两个对象属完成相同,但是对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的属性。引用类型数据保存在堆内存中,引用数据类型的变量是一个指向堆内存中实际对象的引用,存在栈中。如果属性是基本类型,拷贝的就是基本类型的值。如果属性是引用类型,拷贝的就是内存地址。浅拷贝,指的是创建新的数据,这个数据有着原始数据属性值的一份精确拷贝。即浅拷贝是拷贝一层,深层次的引用类型则共享内存地址。基本类型数据保存在在栈内存中。但是这种方式存在弊端,会忽略。下面简单实现一个浅拷贝。原创 2023-11-08 14:31:47 · 136 阅读 · 0 评论 -
JS面向对象(OOP)
JavaScript的面向对象编程(Object-Oriented Programming,简称OOP)思想是一种软件开发的范式,它主要基于对象的概念,将程序的逻辑和数据封装成对象,并通过对象之间的交互实现功能。通过继承,可以建立对象之间的层次关系,子类可以继承父类的属性和方法,并且可以在此基础上添加新的属性和方法,实现代码的重用和扩展。封装(Encapsulation):封装是指将数据和操作数据的方法封装在一个对象中,限制了对内部数据的直接访问,只能通过对象的公共接口(方法)来操作数据。原创 2023-09-25 09:42:25 · 108 阅读 · 0 评论 -
vue的混入和插槽有什么区别
通过使用插槽,可以在一个组件上定义出一些具名的“插槽”,然后在组件使用时,通过插槽将外部的内容嵌入到组件内部的特定位置。插槽相当于一种组件之间的通信方式,父组件通过插槽向子组件传递内容,子组件可以将这些内容渲染到指定的位置。而插槽则是一种组件间通信的机制,用于在父组件向子组件传递内容并在指定位置渲染。当组件使用了混入时,混入中的属性和方法将会合并到组件中,若有冲突,则以组件自身的属性和方法为准。在 Vue 中,混入(Mixins)和插槽(Slots)是两个不同的概念,具有不同的作用和使用方式。原创 2023-09-25 09:39:26 · 69 阅读 · 0 评论 -
vue双向数据绑定原理和示列
当输入框的值发生变化时,就会更新 Vue 实例中对应的属性的值;反之,当 Vue 实例中对应的属性的值发生变化时,输入框的值也会被更新。方法被触发时,Vue 会检查该属性是否被监听,如果有监听,则会通知所有的监听器,将更新后的值同步到所有监听器中对应的视图上。属性的值被改变时,输入框的值也会随之改变。当视图被更新后,会触发实际的 DOM 操作,将最新的值渲染到输入框中。指令被解析时,会将输入框的值绑定到 Vue 实例中的一个属性上。属性,可以看到,当输入框的值发生变化时,当输入框的值发生变化时,会触发。原创 2023-09-25 09:34:55 · 202 阅读 · 0 评论 -
vue的watch和computed的相同和不同、各自优缺点
相同点:不同点:watch的优点:watch的缺点:computed的优点:computed的缺点:原创 2023-09-06 10:09:28 · 241 阅读 · 0 评论