一些情況下,我們需要知道對象的屬性是原型的還是實例的,如果看代碼的話比較繁瑣,下面講解下如何可以直接判斷
1.hasOwnProperty()
函數用於指示一個對象自身(不包括原型鏈)是否具有指定名稱的屬性。如果有,返回true
,否則返回false
。
2.(屬性名稱 in 對象) 不管屬性是原型的還是實例的,只要存在就返回ture否則返回false
那么我們可以利用這兩個方法做一個對比,如果實例中沒有且存在了這個屬性,那么就是原型的
首先創建一個空的對象且給對象添加一些原型屬性和方法
那么如何判斷這個屬性是實例的還是原型的,那么我們下來就封裝一個函數要做一個判斷
以下代碼的意思就是 在實例中不存在這個屬性且有這個屬性,那么就是原型的屬性,以下代碼的結果是true