Skip to content

JS 分为哪两大类型?都有什么各自的特点?你该如何判断正确的类型?

  • 基础类型,null 和 number 存在的一些问题
  • 对象类型,从垃圾回收的角度去切入,也可以说一下对象类型存在深浅拷贝的问题
  • 判断类型,对比一下 typeof 和 instanceof 之间的区别
    • 也可以指出 instanceof 判断类型也不是完全准确的

你理解的原型是什么?

  • 原型小节中的总结内容
  • 不是所有函数都有 prototype 属性
  • 引申出原型链的概念
  • 提出如何使用原型实现继承
  • 继而可以引申出 ES6 中的 class 实现继承

bind、call 和 apply 各自有什么区别?

  • 三者的不同
  • 说出手写的思路
  • 几种规则判断 this 到底是什么
  • this 规则会涉及到 new
  • 最后可以说下自己对于 new 的理解

ES6 中有使用过什么?

  • class,那么 class 又可以拉回到原型的问题
  • promise,那么线就被拉到了异步的内容
  • proxy,那么如果你使用过 Vue 这个框架,就可以谈谈响应式原理的内容
  • let 这些声明变量的语法,那么就可以谈及与 var 的不同,说到提升这块的内容

JS 是如何运行的?

  • 可以先说 JS 是单线程运行的,这里就可以说说你理解的线程和进程的区别
  • 然后讲到执行栈
  • 接下来的内容就是涉及 Eventloop 了,微任务和宏任务的区别,哪些是微任务,哪些又是宏任务
  • 还可以谈及浏览器和 Node 中的 Eventloop 的不同
  • 最后还可以聊一聊 JS 中的垃圾回收