首頁 >Java >Java基礎 >java判斷物件是否為數組

java判斷物件是否為數組

王林
王林原創
2019-11-21 11:34:446283瀏覽

java判斷物件是否為數組

1、從建構子入手,obj instanceof Array

typeof 和instanceof 都可以用來判斷變數,typeof方法傳回一個字串,來表示資料的型別; 但是typeof來判斷資料型別其實並不準確。例如數組、正規、日期、物件的typeof回傳值都是object,這就會造成一些誤差。

而instanceof 運算子用來測試一個物件在其原型鏈中是否存在一個建構函式的 prototype 屬性,傳回一個布林值。

java判斷物件是否為數組

2、從原型入手,Array.prototype.isPrototypeOf(obj);

利用isPrototypeOf()方法,判定Array是不是在obj的原型鏈中,如果是,則傳回true,否則false。

java判斷物件是否為數組

3、Array.isArray()方法

#其實js已經提供了判斷是不是數組類型的方法,如下:

java判斷物件是否為數組

在MDN中就比較了isArray和instanceof的區別,當Array.isArray()不可用的使用,MDN做瞭如下的補丁,說明還是比較推薦使用前面講的第三種方法 Object.prototype.toString.call(obj)。

java判斷物件是否為數組

4、根據物件的class屬性(類別屬性),跨原型鏈呼叫toString()方法。

解釋一下,在js中一個物件一旦被創建,在內部會攜帶創建物件的類型名,一旦創建就不能被修改了。那麼要怎麼取得這個物件的類型名稱呢?

js中提供了,呼叫物件原型中的toString方法, Object.prototype.toString.call(obj);因為許多物件繼承的toString()方法都被重寫了,為了能夠呼叫正確的toString ()版本,也就是最原始的版本。可以使用Function.call()的方法,其中call可以這麼理解,相當於obj去藉用這個Object.prototype.toString();

java判斷物件是否為數組

那麼有了這個方法,取得物件名稱可以這樣取得:

java判斷物件是否為數組

java判斷物件是否為數組

#推薦教學:java開發入門

#################java開發入門## ####

以上是java判斷物件是否為數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn