2019.9.9面试题
1.vue的设计模式和设计理念是什么?
2.什么是订阅者模式?
3.vue共有多少种模式?分别详细说一下
4.js的设计理念是什么?
5.let obj = {} 在一个空对象加入name = 你好,使用什么方法可以实现?
6.Object.defineproprte的实现原理
7.watcher和computed的区别
8.watcher是如何监听数据的,内部实现了什么操作?
9.let const 定义的变量跟vue中data return的变量有什么区别?
10.var let const的区别,并详细说明作用域的区别?
11.const 如果改变对象中的属性和属性值的话,可以进行该操作吗?
12.const 为什么可以改变对象中的属性和属性值?
13.var是全局变量?确定吗?
14.什么是原型链?
15.什么是原型?
16.原型链最终结果等于什么?
17.如何给一个对象中新增一个属性和值?
1.使用方括号添加属性和属性值 2.使用ES6中构造函数prototype 3.vue.set(parmt, 'id', value)
18.对象是原型链吗?
19.webpack如何实现性能优化?
20.比如webpack已经打了一个包,我修改了其中一个文件,再次打包如何配置将打的包只修改我修改的文件,没修改的文件不做改动?
21.for forEach map的区别?
22.for forEach map对浏览器性能更好?
23.[{name: 'lisan', age: 21}, {name: 'xiaoming', age: 98},......]如何根据年龄大小进行name的排序
24.ES6的数组方法
25.两个数组[1,2,3,4] [1,5,3,7]取相同值,方法有哪些?
26.数组去重的方法有哪些?
1.Array.from(new Set(attr)) 2.map indexOf 3.filter includes
27.set
28.sort可以对对象进行排序吗?
30.如何判断数据类型?如何判断是数组还是对象?
1.typeOf 数组,undefined,function无法辨别 2.instanceof 3.Object.prototype.tostring.call() 推荐 4.constructor 没有null和undefined
apiCloud与reactNative的区别
19.什么是深拷贝和浅拷贝?实现方法和原理?
20.浏览器的原生方法有哪些?
21.