1. js分为哪两大类?都有什么特点?如何正确判断
思路引导:
* 对原型类型来说,可以指出**null和number**存在的一些问题,对于对象类型来说,可以从**垃圾回收**的角度去切入,也可以说一下对象类型存在**深浅拷贝**问题
* 对于判断类型来说,可以去对比**typeof 和instanceof**之间的区别,也可以指出instanceof判断类型也**不是完全准确的**。
* 回答问题,尽量去引申出这个知识点的**某些坑或者相关联的东西**。
2. 原型是什么?
起码说出原型小节中的总结内容
* `Object`是所有对象的爸爸,所有对象都可以通过`__proto__`找到它
* `Function`是所有函数的爸爸,所有函数都可以通过`__proto__`找到它
* 函数的`prototype`是一个对象
* 对象的`__proto__`属性指向原型,`__proto__`将对象和原型连接起来组成了原型链
然后指出一些小点,比如**并不是所有函数都有prototype属性**`Function.prototype.bind()`,`Object.prototype.toString` undefined
引出**原型链的概念**,提出**如何使用原型实现继承**,继而可以引申出**ES6中的class实现继承**
3. bind、call和apply各自有什么区别
说出三者的不同,如果实现过,可以说出自己的思路,聊一聊this的内容,有几种规则判断this到底是什么,this规则会涉及到new,最后说一下对new的理解
4. ES6使用过什么
比如class,那么class可以拉回到原型问题,可以说说promise,拉到异步内容,可以说说proxy,如果使用vue,可以谈谈响应式原理的内容,也可以说说let这些声明变量的语法,与var的不同,提升相关问题
5. js是如何运行的?
先说js是单线程运行的,说说你理解的线程和进程的区别,在说执行栈,接下来设计EventLoop,微任务和宏任务的区别,分别是哪些?谈谈浏览器和Node中Eventloop的不同,聊一聊JS中的垃圾回收
- 空白目录
- 双樾
- JS基础知识
- JS-WEB-API
- 开发环境
- 运行环境
- ES6
- 原型
- 异步
- 虚拟dom
- mvvm
- 组件化和React
- hybrid
- 其他
- 补充
- 技巧
- 快乐动起来呀
- css
- 掘金小册子
- js基础知识
- ES6知识点
- JS异步
- JS进阶知识
- 思考题
- DevTools Tips
- 浏览器基础知识
- 浏览器缓存机制0
- 浏览器渲染原理
- 安全防范知识点0
- 从V8中看JS性能优化0
- 性能优化琐碎事
- Webpack性能优化0
- 实现小型打包工具0
- React和Vue
- Vue生命周期
- vue基础知识点
- Vue响应式
- vue高级
- React基础
- Vue.js技术解密
- 准备工作
- 数据驱动
- new Vue()
- vue实例挂载
- 组件化
- 深入响应式原理
- 编译
- 扩展
- Vue Router
- Vuex