區別類型爲object的對象、數組和日期

通過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





發佈了42 篇原創文章 · 獲贊 21 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章