三种判断javascript数据类型的方式以及他们的优缺点

javascript中常见的数据类型:基本类型: string number boolean
特殊类型: underfined null 引用类型: object
1 typeof
typeof返回一个表示数据类型的字符串,返回结果包括: number boolean string object undefined function等
typeof可以对js基础数据类型做出准确的判断,在对于引用类型返回的基本上都是object。判断是引用类型,typeof使用起来比较不方便。
2 instanceof
instanceof是用来判断A是否为B的实例时,表达式为:A instanceof B,如果 A是B的实例,则返回true; 否则返回false 在这里特别注意的是 instanceof检测的是原型
3 Object.prototype.toString
toString是Object原型对象上的一个方法,该方法默认返回其调用者的具体类型,更严格的讲,是 toString运行时this指向的对象类型, 返回的类型格式为[object,xxx],xxx是具体的数据类型,其中包括:String,Number,Boolean,Undefined,Null,Function,Date,Array,RegExp,Error,HTMLDocument,… 基本上所有对象的类型都可以通过这个方法获取到。
4 constructor 查看对象对应的构造函数
construvtor在对应对象的原型下面,是自动生成的,当我们写一个构造函数的时候,程序自动添加,构造函数名.prototype.constructor = 构造函数名。

方法的优缺点
三种判断javascript数据类型的方式以及他们的优缺点