码迷,mamicode.com
首页 > Web开发 > 详细

http://i.cnblogs.com/EditArticles.aspx?postid=4198722&update=1

时间:2015-01-04 16:38:02      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

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));//number
10 i=false;
11 //alert(typeof(i));//boolean
12 //alert(typeof(BiBaoTest));//function
13 var a=new Array();
14 //alert(typeof(i));//Object
15 //i={"1","2"};
16 alert(typeof(a));//Object
17 alert((a instanceof Array)?"Array":"Object");//Array
18 //看一个具体的例子
19 function test(){};
20 var a1=new test();
21 alert(a1 instanceof test)//true。
22 }
View Code

如:

 

技术分享
1 function test(){};
2 2 var a1=new test();
3 3 alert(a1 instanceof test)//true。
4 4 alert(typeof(a1));//object
View Code

 

这个简单的实例,足以看出他们的区别!
 

http://i.cnblogs.com/EditArticles.aspx?postid=4198722&update=1

标签:

原文地址:http://www.cnblogs.com/Zhuangsd/p/4201283.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!