在javascript里面一共有
5種基本的數據類型,分別是:Number,String,Boolean,Null,Undefined
7種引用類型,分別是:Object類型,Array類型,Date類型,RegExp類型,Function類型,基本包裝類型,單體內置對象。
*注“引用類型的值(對象)是引用類型的一個實例。在ECMAScript中,用於將數據和功能結合在一起。它長被成為類,但這種稱呼並不恰當”[1]
其中如何判斷數據類型,當我們要判斷一個變量屬於什么數據類型時,javascript提供了那些方式讓我們判斷呢?
以基本數據類型Number和引用類型Array類舉例
//方法1:typeof

var b = 222; var c= [1,2,3]; alert(typeof b);//number alert(typeof c);//object
//方法2 instanceof 該方法只限於引用類型使用。而且要注意大小寫

1 var b = 222; 2 var c= [1,2,3]; 3 alert(b instanceof number);//報錯 4 alert(c instanceof Array);//true 5 alert(d instanceof array);//true
//方法3 constructor

1 var b = 222; 2 var c= [1,2,3]; 3 alert(c.constructor === Array);//true 4 alert(b.constructor === Number);//true 這里應該是javascript自動把變量轉為了基本包裝類型
//方法4 prototype 要注意大小寫

1 var b = 222; 2 var c= [1,2,3]; 3 alert(Object.prototype.toString.call(b)=== '[Object Number]');//false 4 alert(Object.prototype.toString.call(c)=== '[Object Array]');//false 5 alert(Object.prototype.toString.call(b) === '[object Array]') //true 6 alert(Object.prototype.toString.call(c) === '[object Array]') //true
引用:
[1][高性能JavaScript編程].(High.Performance.JavaScript).Nicholas.C.Zakas.中英對照版