自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue3面试题综合【持续更新!!!!】

它接收一个普通对象作为参数,并返回这个普通对象的响应式代理对象,可以直接访问修改代理对象爱的属性,实现数据的响应式更新。setup() : 开始创建组件之前,在 beforeCreate 和 created 之前执行,创建的是 data 和 method。beforeMount:在挂载开始之前被调用,该钩子函数在模板编译完成时调用,并在挂载之前生成了虚拟DOM。destoryed:在实例销毁后被调用,此时组件已经完全销毁,所有的事件监听和子组件都被解除。

2023-09-05 21:59:46 120 1

原创 React面试题(三)

下面是我介绍的一种常见的移动端适配方案:这样的设置可以让网页根据设备的宽度自动进行缩放,以适应不同的屏幕大小。抽象类的主要目的是为了定义共享的行为和约束,以及提供一个通用的接口,子类必须根据需求来实现抽象类中定义的抽象方法。需要注意的是,性能差异并不总是明显的,而且在大多数情况下,两者之间的性能差异可能是微小的,难以察觉。:CDN 可以将内容缓存到离用户最近的边缘节点服务器上,当用户请求访问内容时,可以从最近的服务器返回内容,减少了数据传输的延迟和网络拥塞,大大提高了网页加载速度和用户访问体验。

2023-08-25 20:00:50 99 1

原创 说说你对Object.defineProperty的理解?

Object.defindproperty()方法允许我们通过descriptor对象来自定义属性的行为,如控制其可写性,可枚举性和可配置性,并且可以添加getter和setter函数来拦截对属性的访问和修改。在Object.defineProperty()方法中,一旦将已有的属性定义为不可配置,就无法再去修改属性的特性,除非通过重新定义整个属性来实现。Object.defineProperty()是js中的一个方法,用于在对象上定义新的属性或修改已有的属性。set:设置属性值的函数,默认为false。

2023-08-23 19:23:23 99

原创 说说你对 TypeScript 中枚举类型的理解?应用场景?

枚举是一个被命名的整数常数的集合,用于声明一组命名的常数,当一个变量有几种可能取值时,可以将它定义为枚举类型。我们可以使用枚举类型来定义星期,为了简单,我们将返回的字段使用0-7来标记,这种写法可以提高代码的可读性。当我们声明一个枚举类型时,虽然没有给他们赋值,但他们的值默认是数字类型,默认从0开始依次累加。在生活中也比较常见,比如说星期一到星期日,就可以看成一个枚举。所以我们在定义枚举类型后,可以通过正反映射拿到对应的值。通俗来说,枚举就是一个对象的所有可能取值的集合。通常情况我们很少使用异构枚举。

2023-08-23 11:52:09 131

原创 TypeScript的基本数据类型

可以指定任何数据类型的值,在编程阶段还不清楚类型的变量,指定一个类型,不希望类型检查器对这些值进行检查而是直接让他们通过编译阶段的检查,这时候可以使用any类型。在javascript中null表示‘什么都没有’,是一个只有一个值的特殊类型,表示一个空对象的应用,而undefined表示一个没有设置值的变量。never是其他类型(包括null和undefined)的子类型,可以赋值给任何类型,代表从不会出现的值。元组类型,允许表示一个已知元素数量和类型的数组,各元素的类型不必相同.number(数字类型)

2023-08-22 21:42:54 83 1

原创 说说你对TypeScript命名空间的理解?

命名空间可以将相关的类、接口、函数等定义组织在一起,并提供了一个独立的作用域,以防止命名冲突,通过将相关代码放置在同一个个命名空间下,我们可以更好的组织和管理代码,使得代码结构更加的清晰、可读性更高。在TypeScript中,命名空间(Namespace)是一种用于组织和管理代码的机制,他帮助我们解决代码模块化和命名冲突的问题。

2023-08-22 19:34:35 51 1

原创 说说你对TypeScript中抽象类的理解

抽象类的主要作用是定义一组共享的属性和方法,以及规定子类必须实现的抽象方法,他提供了一个通用的模板,子类可以根据自身的特性进行扩展和实现,并保证了子类具有相同的结构和行为。在TypeScript中,抽象类(Abstract Class) 是一种不能直接被实例化的类,它主要用于作为其他类或者类接口的实现类。抽象类通过关键字abstract来进行声明,它可以包含抽象方法和非抽象方法,抽象方法没有具体的实现方法,而非抽象方法则有具有实现体。

2023-08-22 19:29:57 50 1

原创 React 面试题

在虚拟DOM计算的过程中,diff算法和key的属性之间有紧密的关系,key是React要求在进行列表渲染时的唯一标识,它帮助React更准确的找到对应的元素,在进行虚拟dom diff时,React对比两个虚拟dom节点的方式是通过key属性进行判断,React会根据节点的key属性进行匹配,从而确定每个节点在更新中的操作。值得注意的是,弹性盒的缩放机制是在一定规则下进行的,具体表现取决于弹性盒容器和项目的设置。通过设置flex属性,可以指定项目的伸缩比例,决定项目在剩余空间分配时的占比。

2023-08-18 17:04:44 58 1

原创 如何在umi中使用redux(@reduxjs/toolkit)

1.在src目录下创建store文件夹,在我们创建好的store文件夹中新建一个index.js文件.3.在入口文件中配置provider,注意一下,这里的app入口文件必须是js文件,否则会报错,路径要在src下。2.再创建一个slices文件夹,在其中创建userSlice.tsx文件。下载时使用 npm 或者 yarn都可以。如果有问题的话联系我就可以。我这里使用的是yarn。1.下载两个第三方库。2.配置我们的文件夹。

2023-08-17 20:23:34 622 8

原创 TypeScript修饰符

6.abstract:抽象修饰符,用于声明抽象方法和抽象类,抽象类不可以被实例化,只能作为其他类的基类,抽象方法必须要在派生类中实现。3.protected:保护修饰符,表示成员可以在类的内部及派生类(可以理解为子类)中访问,但不能在外部访问.在TypeScript中,修饰符(Modifiers)是用于控制类的成员(属性和方法)的可访问性和行为.5.static:静态修饰符,表示成员属于类本身而不是实例,可以通过类名直接访问。1.public:公共修饰符,表示成员可以被任何地方访问,默认的修饰符。

2023-08-16 20:56:57 279 1

原创 interface和type的区别?

在TypeScript中,interface(接口)和type(类型别名)都是用于定义类型的关键字,他们之间有一些区别和适用场景。

2023-08-15 22:02:06 243 1

原创 面试题综合系列(1)

强缓存:浏览器根据缓存控制指令(Cache-Control)强制使用缓存的内容,不会发出请求到服务器验证或者获取更新。Cache-Control: max-age 指定了资源的最大存活时间,超过这个时间后浏览器会主动删除缓存。协商缓存:浏览器根据缓存控制指令 Last-Modified 和 ETag,会附带 If-Modified-Since 和 If-None-Match 头向服务器发起验证请求。服务器检查资源是否更新,如果没有更新返回 304 not modified,浏览器继续使用缓存。

2023-08-14 10:55:05 37

原创 shouldComponentUpdate和PureComponents区别?

PureComponent则比较适用于简单的props和state,对于多数场景来说,它可以自动处理组件是否重新渲染,这样就能够避免手动书写shouldComponentUpdate方法。shouldComponentUpdate方法可以根据props或者state的任意属性和值去比较,并且是基于 自定义的逻辑去判断是否触发渲染。shouldComponentUpdate可以灵活的根据自定义的逻辑去判断是否触发渲染,因此适用于复 杂的数据和条件判断场景。

2023-08-10 21:54:42 123 1

原创 找出数组中出现次数最多的数,并统计出现多少次?

【代码】找出数组中出现次数最多的数,并统计出现多少次?

2023-08-10 21:32:37 227 1

原创 React中性能优化的手段都有哪些?

在类组件中,可以使用shouldComponent生命周期来进行自定义浅比较,这个生命周期接收两个参数,第一个是nextProps,第二个参数是nextState,我们通过这两个参数比较当前状态和属性来判断是否进行渲染,如果返回ture,执行渲染,否则不执行,从而提升性能。在组件的render方法中,我们应该避免直接在jsx中直接绑定匿名函数,我们可以将函数提升到组件实例中,或者使用useCallback进行处理。我们可以在卸载阶段清理一些可能会造成内存泄露的代码,比如说定时器等。

2023-08-10 21:12:35 113 1

原创 扩展运算符都有哪些作用?

2.对象的展开:扩展运算符也可以用于展开对象中的属性,并且创建一个新的对象,这样可以方便复制对象、合并对象,或者在创建新对象是添加属性和修改属性。4.函数调用时的参数传递:扩展运算符还可以在函数调用时作为参数传递,将数组展开为单个元素,这样可以方便将一个数组的元素解构为函数的参数。扩展运算符是JavaScript中的一个语法特性(ES6),用于展开可迭代对象,如数组,对象,字符串等,并且使用其中的元素或者属性创建新的数据结构。

2023-08-09 21:40:19 98 1

原创 说说你对Redux的理解?

在redux官网中,redux是JavaScript状态容器,可以提供可预测的管理状态。redux不仅可以和react框架结合使用,还支持其他的界面库,并且体积小,只有2kb。

2023-08-09 21:20:43 54 1

原创 useState为什么不是对象?

这是useState的正常用法,我们可看到它返回的是一个数组。在回答这个问题前我们先要明白ES6的解构赋值:我们再来看一下对象的解构赋值:通过这两个对比,我们可以看出来,在数组中,我们可以对数组的元素进行命名,在对象中,我们必须要同名。所以useState返回数组是为了降低使用的复杂度,让useState使用起来更加的灵活。

2023-08-09 11:30:30 104 1

原创 封装一个使用递归方式的深拷贝方法。

【代码】封装一个使用递归方式的深拷贝方法。

2023-08-07 20:34:18 39

原创 说说你对面向编程方式的理解?

对象是面向对象编程的基本概念,它是一个具体的实体,具有属性(数据)和方法(操作)。封装是面向对象编程的重要概念,它将数据和方法封装在一个对象中,防止外部直接访问和修改对象内部状态,只有通过对象提供的公共接口才能与对象进行交互,提高了代码的可维护性和安全性,类是对象的模板,描述了对象的属性和方法类定义了一个对象的结构和行为,并提供了创建对象的蓝图。多态是指同一个方法名可以在不同的对象上具有不同的行为,在面向对象编程中,通过继承和接口的多态性,提高了代码的灵活性和可读性。

2023-08-07 20:23:49 40

原创 JS面试题

事件循环(Event loop)是指在单线程JavaScript运行环境中,用于处理异步任务的机制,JavaScript是一门单线程语言,也就代表它只能在同一时间内执行一个任务,但因为JacaScript常常需要处理一些耗时的操作,比如说网络请求或是文件读写等,如果这些操作都是同步执行的话,就会导致阻塞整个程序的运行,为了解决这个问题,JavaScript引入了事件循环机制。2.性能影响:由于闭包涉及到作用域链的查找,会增加函数执行的时间和资源消耗,特别是在嵌套多层的情况下,这样可能会影响性能。

2023-08-06 21:46:51 38

空空如也

空空如也

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

TA关注的人

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