面试记录 二

自我介绍

数组操作,
什么操作会改变原数组
箭头函数与普通函数的this指向问题
怎么修改箭头函数的this指向
v–model的原理及使用
组件通信,嵌套很深的那种
$nexttick原理 时机

说说最熟悉项目,背景,负责的东西

vue的data为什么是一个函数

说说vue

说说es6

宏任务,微任务

数组.对象 各自的合并操作

父子组件的生命周期

插槽

for 与 while

 object.defineproperty

 

1、数组操作,

2、什么操作会改变原数组

a、不会改变遍历、slice【截取】、俩合并生成新数组

b、

 

 

                    reverse--数组翻转


3、箭头函数与普通函数的this指向问题

https://blog.csdn.net/qq_43363773/article/details/105420111

3.1、

箭头函数的this是静态的,箭头函数 this 指向声明时所在作用域下 this 的值,且无法改变。

箭头函数的this不指向本身,指向外层作用域中的this;

3.2、

 

 

 

4、箭头函数是否可以修改 this,可以的话怎么修改 

4.1、箭头函数,不能改变this指向,只有普通function函数,能改变this指向

  箭头函数不同于传统JavaScript中的函数,箭头函数并没有属于⾃⼰的this,它所谓的this是捕获其所在上下文的 this 值,作为自己的 this 值,

并且由于没有属于自己的this,所以是不会被new调用的,这个所谓的this也不会被改变。箭头函数的this指向外层函数的this

4.2、一般函数的修改:call,apply,bind


5、v–model的原理及使用

实现子组件与父组件数据实时同步,组件通信

原理:input事件与value实现;基于一般input封装子组件,父组件如同使用input一般使用子组件

v-model其实是一个语法糖,它背后包含两个操作:

   1.v-bind:value 绑定一个value属性

   2.v-on指令给当前元素绑定input事件

a、

父组件传递数据,在子组件input中显示,并接收子组件input改变的值,修改data中的相关数据

 

 

 

b、子组件接收父组件的数据在input中展示,并传递自己改变的值在父组件中修改对应的data中的数据

 

 

 


6、组件通信,嵌套很深的那种

a、$bus:全局事件总线:任意组件间通信

b、vuex:万能

c、pubsub.js:消息订阅与发布:任意组件间通信


7、$nexttick原理 、作用

a、原理

Vue 的 nextTick 其本质是对 JavaScript 执行原理 EventLoop 的一种应用。

nextTick 的本质是为了利用 JavaScript 的异步回调任务队列来实现 Vue 框架中自己的异步回调队列。

b、作用

Vue采用了数据驱动视图的思想,但是在一些情况下,仍然需要操作DOM。

有时候,可能遇到这样的情况,DOM1的数据发生了变化,而DOM2需要从DOM1中获取数据,那这时就会发现DOM2的视图并没有更新,这时就需要用到了nextTick了。

由于Vue的DOM操作是异步的,所以,在上面的情况中,就要将DOM2获取数据的操作写在$nextTick中

 

 

 c、场景

● 在数据变化后执行的某个操作,而这个操作需要使用随数据变化而变化的DOM结构的时候,

这个操作就需要方法在nextTick()的回调函数中。

● 在vue生命周期中,如果在created()钩子进行DOM操作,也一定要放在nextTick()的回调函数中。

因为在created()钩子函数中,页面的DOM还未渲染,这时候也没办法操作DOM,所以,此时如果想要操作DOM,

必须将操作的代码放在nextTick()的回调函数中。

 

8、说说最熟悉项目,背景,负责的东西

9、data为什么是一个函数而不是对象

Vue组件可能存在多个实例,如果使用对象形式定义data,则会导致它们共用一个data对象,

那么状态变更将会影响所有组件实例,这是不合理的;

采用函数形式定义,在initData时会将其作为工厂函数返回全新data对象,有效规避多实例之间状态污染问题。

而在Vue根实例创建过程中则不存在该限制,也是因为根实例只能有一个,不需要担心这种情况

 

10、说说vue

1.mvvm框架
2.数据驱动
3.SPA
4.渐进式

11、说说es6

12、宏任务,微任务

https://juejin.cn/post/6844903638238756878

13、数组.对象 各自的合并操作

14、父子组件的生命周期

 

 

 

15、插槽

https://zhuanlan.zhihu.com/p/114502325

16、for 与 while

https://blog.csdn.net/Jumpingyyds/article/details/121021128

 

 

17、object.defineproperty

https://www.cnblogs.com/ldq678/p/13854113.html

 

posted on 2022-11-18 17:56  二月龙抬头之伏龙翔天  阅读(20)  评论(0)    收藏  举报

导航