通過typeof(value)方法可以判斷當前變量的數據類型。
var a = {id:'1',name:'對象'};
var b = [1,2];
var c = new Date();
typeof(a); //object
typeof(b); //object
typeof(c); //object
對象、數組和日期的結果都爲object,不能將typeof作爲判斷其類型的依據。
每個變量都帶有構造屬性,用constructor函數可以獲得。
a、b、c三個變量的構造函數分別爲:
①a.constructor; //Object() {...}
②b.constructor; //Array() {...}
③c.contsructor; //Date() {...}
實例:
function diffObject(value,type){
return value.constructor.toString().indexOf(type) != -1;
}
console.log(diffObject(a,'Object')); //true
console.log(diffObject(a,'Array')); //false
console.log(diffObject(b,'Array')); //true
console.log(diffObject(c,'Date')); //true
擴展知識:
javascript包含5種不同的數據類型。
- 數字number
- 字符串string
- 布爾boolean
- 對象object
- 函數function
其中對象類型還分:
- Object
- Array
- Date