前端面试题分享一(小白自己的面试之路)

一、自我介绍,不管哪家公司都会开头让你先自我介绍。

二、面试题分享:

(1)react组件通信的方式

        1、props

        2、状态提升

        3、context

        4、Redux和Mobx

(2)什么是高阶组件:高阶组件就是接收一个组件然后返回一个新组件

          1、属性代理:实质就是通过包裹原来的组件来操作props;

          2、反向继承:反向继承是指返回的组件去继承之前的组件

          ps:反向继承有一个重要的点: 反向继承不能保证完整的子组件树被解析。

(3)高阶组件和类组件的区别(找不到答案,求大神解释)

(4)事件模型

事件模型就是观察者模式,多个观察者对象同时监听某一个主题对象,这个主题对象的状态变化时会通知所有的订阅者,使得它们能够做出反应。这就是观察者模式。

JS的事件模型就是一种观察者模式的体现,当对应的事件被触发时,监听该事件的所有监听函数都会被调用。

事件流有两种:

事件冒泡: 是一种从下往上的传播方式。事件最开始由DOM最低层的子节点, 然后逐渐向上传播到DOM中最高层的父节点。

事件捕获: 与事件冒泡相反。是一种从上往下的传播方式。事件最开始由DOM最高层的父节点, 然后逐渐向上传播到DOM中最低层的子节点。

事件模型

DOM0级模型

又称为原始事件模型,在该模型中,事件不会传播,即没有事件流的概念。事件绑定监听函数比较简单, 有两种方式:

HTML代码中直接绑定:

通过JS代码指定属性值:

IE事件模型

IE事件模型共有两个过程:

处理阶段:事件到达目标元素, 触发目标元素的监听函数。

冒泡阶段:事件从目标元素冒泡到document, 依次检查经过的节点是否绑定了事件监听函数,如果有则执行。

DOM2级模型

属于W3C标准模型,现代浏览器(除IE6-8之外的浏览器)都支持该模型。在该事件模型中,一次事件共有三个过程:

捕获阶段:事件从document一直向下传播到目标元素, 依次检查经过的节点是否绑定了事件监听函数,如果有则执行。

处理阶段:事件到达目标元素, 触发目标元素的监听函数。

冒泡阶段:事件从目标元素冒泡到document, 依次检查经过的节点是否绑定了事件监听函数,如果有则执行。

事件对象

当一个事件被触发时,会创建一个事件对象(Event Object), 这个对象里面包含了与该事件相关的属性或者方法。该对象会作为第一个参数传递给监听函数。

  • DOM事件模型中的事件对象常用属性:

    • type用于获取事件类型

    • target获取事件目标

    • stopPropagation()阻止事件冒泡

    • preventDefault()阻止事件默认行为

  • IE事件模型中的事件对象常用属性:

    • type用于获取事件类型

    • srcElement获取事件目标

    • cancelBubble阻止事件冒泡

    • returnValue阻止事件默认行为

事件代理

事件在冒泡过程中会上传到父节点,因此可以把子节点的监听函数定义在父节点上,由父节点的监听函数统一处理多个子元素的事件,这种方式称为事件代理(Event delegation)。

(5)盒子模型

标准盒子模型的范围包括margin、border、padding、content,并且content部分不包含其他部分

IE盒子模型的范围包括margin、border、padding、content,和w3c盒子模型不同的是,IE盒子模型的content部分包含了padding和border.

(6)箭头函数什么时候不可用

1、函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。*
2、不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。*
3、不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
4、不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值