检测数据类型的方法:
1.instanceof
2.typeof
3. 终极检测类型 Object.prototype.toString.call()
=======================================
1.instanceof 检测出来的返回值是一个布尔值 可以检测复杂数据类型/引用型数据类型Object function (但是无法准确检测Arrary类型 =>检测出来是Object类型)2. typeof 检测出来的返回值是基本数据类型(但无法检测null =>检测出来是Object) (这两种相对缺陷 检测类型不准确)
3.终极检测类型 Object.prototype.toString.call()
// function Father() { // this.sing = function () { // // console.log("我是父级"); // }; // } // const zjl = new Father(); // zjl.sing(); // console.log(zjl instanceof Father); //true // console.log(zjl instanceof Object); //true // console.log(zjl instanceof Array); //false // console.log(Array instanceof Object); //true Array检测出来的类型是Object // console.log([1, 4, 5, 7] instanceof Object); // true // console.log([1, 4, 5, 7] instanceof Array); // true //=========== // console.log(Object.prototype.toString.call(1)); // [object Number] // console.log(Object.prototype.toString.call("我是字符串")); //[object String] // console.log(Object.prototype.toString.call(undefined)); //[object Undefined] // console.log(Object.prototype.toString.call(null)); //[object Null] // console.log(Object.prototype.toString.call(true)); //[object Boolean] // console.log(Object.prototype.toString.call({})); //[object Object] // console.log(Object.prototype.toString.call(function () {})); //[object Function] // console.log(Object.prototype.toLocaleString.call(NaN)); //NaN // console.log(Object.prototype.toString.call(Number)); //[object Function] // console.log(Object.prototype.toString.call(String)); //[object Function]
标签:instanceof,console,log,检测,Object,数据类型,call,toString,prototype From: https://www.cnblogs.com/JAG2671169285/p/16936524.html