一、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