多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
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中的垃圾回收