js判斷物件的屬性是原型的還是例項的
阿新 • • 發佈:2022-01-05
js判斷物件的屬性是原型的還是例項的
一些情況下,我們需要知道物件的屬性是原型的還是例項的,如果看程式碼的話比較繁瑣,下面講解下如何可以直接判斷
1.hasOwnProperty()
函式用於指示一個物件自身(不包括原型鏈)是否具有指定名稱的屬性。如果有,返回true
,否則返回false
。
2.(屬性名稱 in 物件) 不管屬性是原型的還是例項的,只要存在就返回ture否則返回false
那麼我們可以利用這兩個方法做一個對比,如果例項中沒有且存在了這個屬性,那麼就是原型的
首先建立一個空的物件且給物件新增一些原型屬性和方法
那麼如何判斷這個屬性是例項的還是原型的,那麼我們下來就封裝一個函式要做一個判斷
以下程式碼的意思就是 在例項中不存在這個屬性且有這個屬性,那麼就是原型的屬性,以下程式碼的結果是true