检测数据类型:typeof 与 instanceof
typeof
typeof 用以获取一个变量或者表达式的类型,typeof 一般只能返回如下几个结果:
number,boolean,string,function(函数),object(NULL,数组,对象),undefined。
实例:
document.getElementById("demo").innerHTML =
typeof"john"+"
"+
typeof3.14+"
"+
typeoffalse+"
"+
typeof[1,2,3,4]+"
"+
typeof{name:'john', age:34};
我们可以使用 typeof 来获取一个变量是否存在,如 if(typeof a!="undefined"){},而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错。
正因为 typeof 遇到 null,数组,对象时都会返回 object 类型,所以当我们要判断一个对象是否是数组时。
或者判断某个变量是否是某个对象的实例则要选择使用另一个关键语法 instanceof
。
instanceof
可通过 instanceof 操作符来判断对象的具体类型,语法格式:
var result = objectName instanceof objectType
返回布尔值,如果是指定类型返回 true,否则返回 false:
例:
arr =[1,2,3];
if(arr instanceofArray){
document.write("arr 是一个数组");
}else{
document.write("arr 不是一个数组");
}