第一种(曲线救国):typeof ()+ Array.isArray() + instanceof
①可以使用typeof判断出“基本类型”的:number、boolean、string、undefined、symbol和“引用类型”的Function;
②typeof判断“null、Array、Object”返回的都是object,此时无法区分三者,可以使用一下方法进一步区分;
③对“null、Array、Object”使用Array.isArray(),如果返回的是true,那个就是“引用类型”的Array(null和Object都输出false)
④使用instanceof Object,判断剩下的两个,如果返回的是true,说明是Object;返回false,说明是null
第二种(大一统):Object.prototype.toString.call()
直接把(基本/值引用)变量往括号里面扔就完事了,会输出一串字符“[object Xxxxx]”;后面的Xxxxx就是变量的数据类型