js判斷一個變量的類型


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

 

這個簡單的實例,足以看出他們的區別!
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM