javascript类型判断方法
Posted 我叫王自信
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript类型判断方法相关的知识,希望对你有一定的参考价值。
判断javascript中的类型,共有四种常用的方法
var a=6;
var b="str";
var c=true;
var arr=[];
typeof 用于基本类型的判断
1.typeof最好用于基本类型的判断,返回类型名(小写)。
例外 typeof null==="object" //true
typeof function(){}==="function" //true
2.typeof返回的是字符串
3.对变量执行typeof操作
得到的不是变量类型,而是变量值的类型,因为JS区别别的语言,变量没有类型,值才有。
instanceof 已知对象类型,进而判断
console.log(arr.constructor===Array);//true
constructor
console.log(arr.constructor===Array);//true
注意:
constructor在类继承时会出错,instanceof方法不会出现该问题,对象直接继承和间接继承的都会报true
var A=function(){};
var B=function(){};
A.prototype=new B();
var obj=new A();
console.log(obj.constructor===B);//true
console.log(obj.constructor===A)//false
console.log(obj instanceof B)//true
console.log(obj instanceof A)//true
解决方法:obj.constructor = A;手动
prototype 最通用方法
Object.prototype.toString.call()
console.log(Object.prototype.toString.call(a))//[object,Number]
以上是关于javascript类型判断方法的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript类型判断详解(Object.prototype.toString.call()方法进行数据类型的可靠判断)
JavaScript中判断变量类型最简洁的实现方法(#################################)