javascript中的typeof与instanceof都是用于判断变量类型的,但有不同
1、变量定义
function f(){
}
var fV=new f();
var i=1;
var str='1';
var strObj=new String('1');
var b=true;
var obj={};
var date=new Date();
2、typeof
var t0=typeof v //undefined
var t1=typeof fV //object
var t2=typeof f //function
var t3=typeof i //number
var t4=typeof str //string
var t5=typeof strObj // object
var t6=typeof b // boolean
var t7=typeof obj //object
var t8=typeof date //object
3、instanceof
v instanceof Object //出错,v未定义
v instanceof undefined //出错,v未定义
fv instanceof f// true
fV instanceof function //语法错误
fV instanceof Function //false
f instanceof Function ;true
i instanceof Number // true
str instanceof String //true
总结:
typeof 用于测试一个变量,返回一个字符串,对基本类型返回对应的类的字符串,
对其它如数组,自定义类,均返回object
instanceof类似于java中的instanceof,用于测试一个变量是否是给定的类型,返回true或false