一、vue相关​

二、react相关

三、js相关

1.js类的概念和继承

2.函数闭包是什么特性和用法

3.es6和es7新增知识

4.let、var差别

5.原型和原型链

6.promise

7.引用类型和基本类型

22.Ajax请求原理

23.深拷贝浅拷贝

8.强制类型转换和2种隐式类型转换

9. split() join() 的区别

10.数组方法pop() push() unshift() shift()

11.ajax请求的时候get 和post方式的区别

12. call和apply的区别

13.事件委托是什么

利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

14. 如何阻止事件冒泡

ev.stopPropagation();

15.添加 删除 替换 插入到某个接点的方法

1)创建新节点

createElement() //创建一个具体的元素

createTextNode() //创建一个文本节点

2)添加、移除、替换、插入

appendChild() //添加

removeChild() //移除

replaceChild() //替换

insertBefore() //插入

3)查找

getElementsByTagName() //通过标签名称

getElementsByName() //通过元素的Name属性的值

getElementById() //通过元素Id,唯一性

16.解释jsonp的原理,以及为什么不是真正的ajax

答案:动态创建script标签,回调函数

Ajax是页面无刷新请求数据操作

17.document onload 和document ready的区别

答案:document.onload 是在结构和样式,外部js以及图片加载完才执行js

document.ready是dom树创建完成就执行的方法,原生种没有这个方法,

18.函数声明与函数表达式的区别

在Javscript中,解析器在向执行环境中加载数据时,对函数声明和函数表达式并非是一视同仁的,解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问),至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解析执行。

19.Javascript的事件流模型都有什么?

“事件冒泡”:事件开始由最具体的元素接受,然后逐级向上传播

“事件捕捉”:事件由最不具体的节点先接收,然后逐级向下,一直到最具体的

“DOM事件流”:三个阶段:事件捕捉,目标阶段,事件冒泡

20.null和undefined的区别?

null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。

当声明的变量还未被初始化时,变量的默认值为undefined。 null用来表示尚未存在的对象

undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:

(1)变量被声明了,但没有赋值时,就等于undefined。

(2)调用函数时,应该提供的参数没有提供,该参数等于undefined。

(3)对象没有赋值的属性,该属性的值为undefined。

(4)函数没有返回值时,默认返回undefined。

null表示"没有对象",即该处不应该有值。典型用法是:

(1) 作为函数的参数,表示该函数的参数不是对象。

(2) 作为对象原型链的终点。

21.Cookie在客户机上是如何存储的

24.

三、react常见面试问题

1.为什么用react来做

它非常适合代表经常变化的数据的组件。使用React,您可以通过将它们分解为组件而不是使用模板或HTML来构建可重用的用户界面。react是单向数据流的,而vue是双向数据流的,但数据比较多切变化复杂的系统里面适合用react,数据流清晰,问题定位简单,

2.react的单向数据流

3.redux工作流

actions,reducer,state

4.dva