判断数据类型的⽅法
四种⽅式
对于基本类型,除 null 以外,均可以返回正确的结果。
对于引⽤类型,除 function 以外,⼀律返回 object 类型。
对于 null ,返回 object 类型。
对于 function 返回  function 类型。
2.instanceof
instanceof 只能⽤来判断两个对象是否属于实例关系,⽽不能判断⼀个对象实例具体属于哪种类型。
[] instanceof Array; // true
{} instanceof Object;// true
newDate() instanceof Date;// true
利⽤原型对象上的 constructor 引⽤了⾃⾝
null 和 undefined 是⽆效的对象,因此是不会有 constructor 存在的,这两种类型的数据需要通过其他⽅式来判断。
函数的 constructor 是不稳定的,这个主要体现在⾃定义对象上,当开发者重写 prototype 后,原有的 constructor 引⽤会丢失[].constructor === Array
String.call('') ;  // [object String]
String.call(1) ;    // [object Number]
String.call(true) ; // [object Boolean]
String.call(Symbol()); //[object Symbol]
String.call(undefined) ; // [object Undefined]
typeof String.call(null) ; // [object Null]
String.call(new Function()) ; // [object Function]
String.call(new Date()) ; // [object Date]
String.call([]) ; // [object Array]
String.call(new RegExp()) ; // [object RegExp]
String.call(new Error()) ; // [object Error]
String.call(document) ; // [object HTMLDocument]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。