欢迎光临散文网 会员登陆 & 注册

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

2023-07-19 17:03 作者:YanW-G  | 我要投稿

一.Vue和React中diff算法的区别:

vue和react的diff算法,都是忽略跨级比较,只做同级比较,vue diff时调用patch函数,参数是vnode和oldvnode,分别代表新旧节点

1.vue对比节点。当节点元素相同,但是classname不同,认为是不同类型的元素,删除重建,而react认为是同类型节点,只是修改节点属性

2.vue的列表对比,采用的是两端到中间比对的方式,而react采用的是从左到右依次对比的方式。

二.虚拟dom为什么会提高性能?

虚拟dom其实就是一个javascript对象,通过这个javascript对象来描述真实dom,真实dom的操作,一般都会对某块元素的整体重新渲染,采用虚拟dom的话,当数据变化的时候,只需要局部刷新变化的位置就好了,虚拟dom相当于再js和真实dom中间加了一个缓存,利用dom diff算法避免了没有必要的dom操作,从而提高性能。

三.vuex和redux有什么区别?共同思想

区别:

1.vuex改进了redux中的action和reducer函数,以mutations变化函数取代reducer,无需switch,只需在对应的mutation函数里改变state就可以

2.vuex由于vue自动重新渲染的特性,无需订阅重新渲染函数,只要生成新的state就可以

3.vuex数据流的顺序是,view调用store.commit提交对应的请求到store中对应的mutation函数--store改变(vue检测到数据变化自动渲染)

共同思想:

1.单一数据源

2.变化可以预测

3.本质上:redux和vuex都是对MVVM思想的服务,将数据从视图中抽离的一种方案

4.形式上:vuex借鉴了redux,将store作为全局的数据中心,进行数据管理

四.做管理系统项目vue和react怎么选择?

1.评估项目成员的水平,如果成员js基础较好,编码能力较强则选择react,否则选vue

2.评估系统的大小,如果想构建生态系统,则选择react,如果要求要快,简单,’能用就行‘ 就选择vue

3.评估系统运行环境,如果想要一个同时适用于web端和原生app的框架,就选择react

五.react类组件和函数组件的区别?

1.语法上:函数组件是一个函数,返回一个jsx元素,而类组件是用es6语法糖class定义,继承component这个类

2.类组件中可以通过state进行状态管理,而在函数组件中不能使用,setState(),在react16.8以后,函数组件可以通过hooks中的useState来模拟类组件中的状态管理

3.类组件中有一系列的生命周期钩子函数,在函数组件也需要借助hooks来使用生命周期函数

4.类组件能够捕获最新的值,只是因为当实例的props属性发生修改时,class组件能够直接通过this捕获到组件最新的props,而函数组件是捕获渲染所使用的值,已经因为javascript闭包的特性,之前的props参数保存在内存之中,无法从外部进行修改。

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)的评论 (共 条)

分享到微博请遵守国家法律