1.js数据类型

基本数据类型
string
number
boolean
null
undefined
Symbol
引用数据类型
Object
Array
Function

2.typeof

  1. typeof检测null是一个对象
  2. typeof检测函数返回时一个function
  3. typeof检测其他对象都返回 object

3.instanceof

只要在当前实例的原型链上,用instanceof检测出来的结果都是true,所以在类的原型继承中,最后检测 出来的结果未必是正确的.而且instanceof后面必须更一个对象。
不能检测基本类型

4. constructor:

每个构造函数的原型对象都有一个constructor属性,并且指向构造函数本身,由于我们可以手动修改 这个属性,所以结果也不是很准确。 不能检测null和undefined

5.Object.prototype.toString.call

调用Object原型上的toString()方法,并且通过call改变this指向。返回的是字符串