首页 > 代码库 > http://i.cnblogs.com/EditArticles.aspx?postid=4198722&update=1
http://i.cnblogs.com/EditArticles.aspx?postid=4198722&update=1
instanceof和typeof都能用来判断一个变量是否为空或是什么类型的变量。
typeof(obj)用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。
显然可以用typeof来判断变量是否存在或者赋值,而不要去使用if(a)因为如果a不存在(未声明)则会出错;但是对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。
贴一段代码出来,给大家看一下效果:
1 //typeof与instanceof的区别 2 function myFunTypeof() 3 { 4 var i; 5 //alert(typeof(i));//undefined 6 i="1234"; 7 //alert(typeof(i));//string 8 i=123; 9 //alert(typeof(i));//number10 i=false;11 //alert(typeof(i));//boolean12 //alert(typeof(BiBaoTest));//function13 var a=new Array();14 //alert(typeof(i));//Object15 //i={"1","2"};16 alert(typeof(a));//Object17 alert((a instanceof Array)?"Array":"Object");//Array18 //看一个具体的例子19 function test(){};20 var a1=new test();21 alert(a1 instanceof test)//true。22 }
如:
1 function test(){};2 2 var a1=new test();3 3 alert(a1 instanceof test)//true。4 4 alert(typeof(a1));//object
这个简单的实例,足以看出他们的区别!
http://i.cnblogs.com/EditArticles.aspx?postid=4198722&update=1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。