- 原始类型有哪几种?null 是对象嘛?
- 对象类型和原始类型的不同之处?函数参数是对象会发生什么问题?
- typeof 是否能正确判断类型?instanceof 能正确判断对象的原理是什么?
- 如何正确判断 this?箭头函数的 this 是什么?
- == 和 === 有什么区别?
- 什么是闭包?
- 什么是浅拷贝?如何实现浅拷贝?什么是深拷贝?如何实现深拷贝?
- 如何理解原型?如何理解原型链?
- 什么是提升?什么是暂时性死区?var、let 及 const 区别?
- 原型如何实现继承?Class 如何实现继承?Class 本质是什么?
- 为什么要使用模块化?都有哪几种方式可以实现模块化,各有什么特点?
- Proxy 可以实现什么功能?
- map, filter, reduce 各自有什么作用?
- 并发与并行的区别?
- 什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题?
- 你理解的 Generator 是什么?
- Promise 的特点是什么,分别有什么优缺点?什么是 Promise 链?Promise 构造函数执行和 then 函数执行有什么区别?
- async 及 await 的特点,它们的优点和缺点分别是什么?await 原理是什么?
- 进程与线程区别?JS 单线程带来的好处?
- 什么是执行栈?
- call、apply 及 bind 函数内部实现是怎么样的?
- new 的原理是什么?通过 new 的方式创建对象和通过字面量创建有什么区别?
- 为什么 0.1 + 0.2 != 0.3?如何解决这个问题?
- 事件的触发过程是怎么样的?知道什么是事件代理嘛?
- 什么是跨域?为什么浏览器要使用同源策略?你有几种方式可以解决跨域问题?了解预检请求嘛?
- 有几种方式可以实现存储功能,分别有什么优缺点?
- 插入几万个 DOM,如何实现页面不卡顿?
- 在不考虑缓存和优化网络协议的前提下,考虑可以通过哪些方式来最快的渲染页面,也就是常说的关键渲染路径,这部分也是性能优化中的一块内容
- 什么是 CSRF 攻击?如何防范 CSRF 攻击?
- 什么是 MVVM?比之 MVC 有什么区别?
- 什么是 Virtual DOM?为什么 Virtual DOM 比原生 DOM 快?
- 前端路由原理?两种实现方式有什么区别?
- Vue 和 React 之间的区别
- computed 和 watch 区别
- keep-alive 组件有什么作用
- Vue 的响应式原理是什么
- v-for 里面的 key 有什么作用
- DOM 渲染在 哪个周期中就已经完成
Vue3.0 中将会通过 Proxy
来替换原本的 Object.defineProperty
来实现数据响应式。 Proxy 是 ES6 中新增的功能,它可以用来自定义对象中的操作。
let p = new Proxy(target, handler);