当前位置: 首页 > news >正文

前端面试问题(5)

一、Var与let的区别是什么

Let:用于声明变量                    

        声明的变量不能重复声明

        声明的变量不能提升变量

        块状作用域

        使用let声明的变量不属于顶层对象

var:  用于声明变量

        声明的变量能重复声明

        声明的变量能提升变量

        函数作用域

        使用let声明的变量属于顶层对象     

二、Promise的三个状态是什么

pendding(执行中)

fulfilled(完成,执行了resolve())

rejected(失败,reject()执行)

三、class继承的关键词是什么?构造函数的关键词是什么?

Class:extends 

构造函数:constructor

四、使用set实现数组去重

方法一:

var numArr=[34,25,45,67,34,5,85,34,46,96]

//ES6方法 会得到单一结构的数据

var arr=new Set(numArr)

console.log(arr);

方法二:

Array.prototype.singleArr = function() {
   return[... new Set(this)];
}
let arr = [1,1,2,3].singleArr();

 

五、数组方法map的工作原理

将计算后的结果放入新数组

六、数组方法filter的工作原理

如果返回值为真,将元素加入新数组

七、React中ref的作用是什么

如果标记在标签上就获取标签,如果标记在属性上就获取属性

(ref是React提供的用来操纵React组件实例或者DOM元素的接口。)

八、请描述React的事件原理

通过代理实现事件处理

九、简述React的父子组件通信

父传子:属性值 

子传父:回调函数

十、请写出React组件运行中的5个钩子函数并解释其含义

初始化阶段:

conmponentWillMount:组件即将挂载

render:渲染

componentDidMount:成功执行完毕render并完成dom节点的渲染,可以对dom修改

运行中阶段:

componentWillReceiveProps(next Props):父组件修改属性触发

ShouldComponentUpdate(next Props , next State):返回false,会阻止render的调用

ComponentWillUpdate:组件将要更新,不能修改属性及状态

ComponentDidUpdate(preProps ,preState):可以修改dom参数是被修改之后的属性及状态

销毁阶段: 

componentWillUnmount:在删除组件前进行清理工作 

 

 

相关文章:

  • 基于springboot+vue的民法普及系统的设计与实现
  • Python_偏函数
  • LainChain输出解析器
  • 编译报错 - Missing trailing comma comma-dangle or Missing semicolon semi
  • Git TortoiseGit 详细安装使用教程
  • python常用高阶函数
  • 【Unity】实现从Excel读取数据制作年份选择器
  • android开发平台,Java+性能优化+APP开发+NDK+跨平台技术
  • 虚拟机中window7界面太小解决办法
  • IP 电话
  • 什么是去中心化云计算?
  • 【virtual Box】功能速通:安装 Windows 和 Ubuntu
  • 十年网安行业代表性案例出炉,中睿天下Web攻击溯源案例实力入选
  • ARMv8/ARMv8的TLB深度学习
  • 【建议背诵】2022下半年软考「集成」100题(8)
  • 昇腾AI室外移动机器人学习指南(1 前言)
  • 【100个 Unity实用技能】| Unity中 检查当前设备网络状态 的几种方法整理
  • Db2数据库计算年龄
  • C++继承时常见问题
  • 【带你了解C语言预处理指令】
  • SLAM本质剖析-Boost之Geometry函数大全(一)
  • 4、MySQL数据管理
  • 谈谈测试员的地位:此刻,我想为所有从事测试职业的人发声…
  • DBCO-PEG12-Maleimide,DBCO-PEG12-Mal具有DBCO和Maleimide巯基反应试剂
  • 在Spring Boot项目中使用统一返回结果
  • 249 - 数据流
  • 程序员日均写7行代码被开除,这个行业真的还是普通人的最优选吗
  • NVIDIA VPI架构解析
  • 在字节跳动干了3年测试开发,30岁即将退休的我,告诉你软件测试的真实就业前景
  • 【计算机毕业设计】Java 基于微信小程序的高校游泳馆管理系统
  • JVM的组成
  • pyqt5的安装