1. 程式人生 > 其它 >js判斷物件的屬性是原型的還是例項的

js判斷物件的屬性是原型的還是例項的

js判斷物件的屬性是原型的還是例項的

一些情況下,我們需要知道物件的屬性是原型的還是例項的,如果看程式碼的話比較繁瑣,下面講解下如何可以直接判斷

1.hasOwnProperty()函式用於指示一個物件自身(不包括原型鏈)是否具有指定名稱的屬性。如果有,返回true,否則返回false

2.(屬性名稱 in 物件) 不管屬性是原型的還是例項的,只要存在就返回ture否則返回false

那麼我們可以利用這兩個方法做一個對比,如果例項中沒有且存在了這個屬性,那麼就是原型的

首先建立一個空的物件且給物件新增一些原型屬性和方法

那麼如何判斷這個屬性是例項的還是原型的,那麼我們下來就封裝一個函式要做一個判斷

以下程式碼的意思就是 在例項中不存在這個屬性且有這個屬性,那麼就是原型的屬性,以下程式碼的結果是true