JavaScript - typeof檢查物件的型態

一般我們在寫JavaScript時,對於一個已經宣告的object,如果未曾給予其value,那麼在做

   判斷是否為undefined時,可能會無法達到目的,如下:


   var data = new Array();
   if(data[index] == 'undefined'){

   }else{

   }

 
  若利用data[index] == 'undefined'是無法達到目的的,您必須使用typeof data[index],此時它會

  回傳該變數的型態,如此才可以達到進入if條件。

  請不要小看該運算子typeof,因為它可以協助你判斷一些情況!


  1. 使用jQuery判斷DOM Attribute使否存在
     如有一按鈕<input type='button' id='showdata'>

     若無show屬性被定義,則$("#showdata").attr("show")會alert回undefined


     2.  多維陣列的使用

     假設您有一從Server端回傳回來的資料,並且在client端利用多維陣列(多分類)做儲存,

     若您利用這些資料來印出資料,有時從Server端回來的某些資料可能無定義,如讀取

     Server端回來得XML的語言,該語言某資料的某些屬性無資料,也許會略過存進陣列

     的情況,在您要使用這些資料Array時,讀取到該欄位可能會出現error(由於該筆資料

     的某項為undefined),因此可以利用typeof做條件判斷。

     以上的情況您不一定會遇到,但若遇到的話,請謹記typeof的方便之處,個人的淺見!

留言