typeof 可以正确识别: undefined Boolean Number String Symbol Function 等类型的数据,
但是对于其它的都会识别成object,比如 null Date array 等,
可以用 Object.prototype.toString实现
instanceof用来判断 A是否是B的实例, instanceof检测的是原型
instanceof 只能用来判断两个对象是否属于实例关系, 而不能判断一个对象实例具体属于哪种类型
判断数组的话可以用Array.isArray()方法
判断null的话可以用 value === null
typeof 和instanceof都不可以做类型的判断

 function typeOf(obj){
    let res =Object.prototype.toString.call(obj).split(' ')[1];
    res = res.substring(0,res.length-1).toLowerCase();
    console.log(res);
}

typeOf([])