面试问到的问题:
一、继承的几种方法;html
Call,apply,原形继承;
二、面向对象的几种方法;react
五种方式: 1)对象字面量:var obj={}; 2)建立实例对象:var obj=new Object(); 3)构造函数:function fn() {} , new fn(); 4)工厂模式:用一个函数,经过传递参数返回对象。 funciton fn(params) { var obj = new Object(); obj.params=params; return obj; } 5)原型模式:function clock(hour) {};fn.prototype.hour = 0;new clock();
三、深拷贝,浅拷贝的几种方法;webpack
深拷贝: 1)jQuery中的$.extend( [true ], target, object1 [, objectN ] )方法; 2)递归遍历; 3)JSON对象的parse和stringify转换; 浅拷贝: 1)直接赋值; 2)jQuery中的$.extend( [false ], target, object1 [, objectN ] )方法等; 参考连接地址:https://www.cnblogs.com/echolun/p/7889848.html
四、组件间的传参:父传子,子传父,兄弟组件间的传参;es6
连接资料:https://www.jianshu.com/p/fb915d9c99c4
五、React的双向数据绑定;
六、this.setState是同步的仍是异步的;web
连接地址:https://segmentfault.com/a/1190000007454080
七、对组件进行操做是在哪一个生命周期函数中,为何?面试
componentDidMount方法中的代码,是在组件已经彻底挂载到网页上才会调用被执行,因此能够保证数据的加载。此外,在这方法中调用setState方法,会触发重渲染。因此,官方设计这个方法就是用来加载外部数据用的,或处理其余的反作用代码。
八、webpack打包原理;segmentfault
打包原理:把全部依赖打包成一个bundle.js文件,经过代码分割成单元片断并按需加载。
九、解构赋值;
十、React的constructor作了什么事;app
用来新建父类的this对象;
十一、es6的一些经常使用的用法;
十二、react中key的做用;异步
用来惟一标识同父同层级的兄弟元素;
面试注意点:函数
一、项目中的东西,项目中的亮点; 二、自我介绍必定要介绍好;
随记:这是我佰钧成初面的题目小结,那个面试官人还不错,我还问了一下他有没有什么面试技巧,他提了两点。但愿对你们有所帮助咯~